`
wenxin2009
  • 浏览: 320589 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

http请求带json格式不能请求数据

    博客分类:
  • ios
 
阅读更多

在做请求http时,后面的参数格式为json字符串,请求后,服务端无响应,且无数据返回,不报异常。当换成其它带参http时,可以正常返回数据。开始以为是末转义参数中的大括号,后来把大括号替换为中括号就正常了,不知为何要这样处理?

代码如下:

#define REQUEST_URL @"http://127.0.0.1:9091/?param={%22className%22:%22AppServiceImpl%22,%22methodName%22:%22doSelect%22,%22parameter%22:%22test%22}"

- (IBAction)requestHttpBtn:(id)sender {
    NSString *jsonStr = [REQUEST_URL stringByReplacingOccurrencesOfString:@"{" withString:@"]"];
    [jsonStr stringByReplacingOccurrencesOfString:@"}" withString:@"]"];
    NSURL *url = [NSURL URLWithString:jsonStr];
    NSMutableURLRequest *request = [NSMutableURLRequest new];
    [request setURL:url];
    [request setHTTPMethod:@"POST"];
//    [request addValue:@"text/json" forHTTPHeaderField:@"Content-Type"];
//    [request setValue:@"test" forHTTPHeaderField:@"User-Agent"];
    NSHTTPURLResponse *response;
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
    NSLog(@"data : %@",[data description]);
    NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
    //showTxt.text = result;
    NSLog(@"Result : %@",result);
}

 

今天完善http通过json格式参数通信例子,昨天的问题已解决,其实不需要替换大括号的,对请求的url进行转码就可以了。如下代码:

NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
//想通过对象直接转为json,暂时还没解决方案
 //        LoginResquest *loginResquest = [[LoginResquest alloc] init];
//        [loginResquest setClassName:@"AppServiceImpl"];
//        [loginResquest setMethodName:@"methodName"];
//        [loginResquest setPassword:password];
//        [loginResquest setUserName:userName];
//        [dictionary setValue:loginResquest forKey:@"LoginResquest"];
        [dictionary setValue:@"AppServiceImpl" forKey:@"className"];
        [dictionary setValue:@"doSave" forKey:@"methodName"];
        NSMutableDictionary *loginDic = [[NSMutableDictionary alloc] init];
        [loginDic setValue:password forKey:@"password"];
        [loginDic setValue:userName forKey:@"userName"];;
        [dictionary setValue:loginDic forKey:@"LoginRequest"];
        NSMutableString *urlStr = [[NSMutableString alloc] initWithString:REQUEST_URL];
        NSString *aStr = [dictionary JSONRepresentation];
        //以下为url进行转码
        aStr = [aStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//NSASCIIStringEncoding
        [urlStr appendString:aStr];
        NSURL *url = [NSURL URLWithString:urlStr];
        NSMutableURLRequest *request = [NSMutableURLRequest new];
        [request setURL:url];
        [request setHTTPMethod:@"POST"];
        NSHTTPURLResponse *response;
        NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:nil];
        NSString *result = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        NSLog(@"Result : %@",result);
 

 

 

ss

分享到:
评论

相关推荐

    C++通过HTTP请求Post方式请求Json数据示例程序

    最近在工作中,由于合作商只提供uRL,我这边需要通过HTTP请求Get或Post方式请求Json数据,然后解析JSON格式,解析json我使用的第三方库rapidjson。开发环境是64位win7,VS2015。

    Java Http请求传json数据乱码问题的解决

    在Java进行HTTP请求时,通常会遇到数据传输出现乱码的问题,尤其是在使用JSON格式传输数据,且数据中包含中文字符时更为常见。在HTTP协议中,字符编码的正确处理对于数据的正确传输至关重要。以下将详细介绍在Java中...

    java代码发送JSON格式的httpPOST请求

    对于Java开发者而言,能够熟练地使用Java代码来发送JSON格式的HTTP POST请求是一项必备技能,它不仅能够增强应用的网络通信能力,还能提升与各种RESTful API的交互效率。 #### 1. 使用`HttpURLConnection`发送POST...

    kettle抽取http请求,发送json参数.docx

    kettle抽取http请求,发送json参数是指使用kettle工具从http接口中抽取数据,并将抽取的数据发送到目标系统中。这里的http请求是指从外部系统中获取数据,而不是指kettle自身的http请求。 描述解释 kettle抽取http...

    使用java请求json接口数据

    在Java编程中,请求JSON接口数据是常见的网络通信任务,主要应用于Web服务的客户端与服务器之间的数据交互。这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 ...

    Qt 写的http 请求使用POST Json

    在本项目中,"Qt 写的http 请求使用POST Json" 提供了一个使用Qt库实现HTTP POST请求的方法,用于向服务器发送JSON格式的数据。下面我们将深入探讨这个主题。 首先,我们来了解Qt中的网络编程。Qt提供了...

    用于WINCE下http请求和json解析的可用包

    在Windows CE (WINCE)操作系统环境下,开发网络应用程序时,我们常常需要处理HTTP请求和JSON数据解析。这个压缩包提供了解决这个问题的两个关键组件,它们是Newtonsoft.Json Compact 3.5 For WinCE和System.Web.dll...

    andriod通过http请求json数据项目例子

    在Android开发中,与服务器进行数据交互是常见的需求,通常我们使用HTTP协议来发送请求,获取JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器...

    c语言编写 基于SOCKET HTTP Json 请求

    本文将深入探讨如何使用C语言通过SOCKET实现HTTP协议,并且重点讲解如何构造和发送JSON格式的数据进行POST请求。我们将以Visual Studio 2013作为开发环境,通过分析“scoket_http”这个压缩包中的文件,来揭示这一...

    Unity 中通过UnityWebRequest POST传JSON格式的参数请求数据。

    Unity 中通过UnityWebRequest 以POST形式传JSON格式(键值对格式)的参数请求数据。

    java 通过发送json,post请求,返回json数据的方法

    java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法

    使用axios发送post请求,将JSON数据改为form类型的示例

    通常前端通过POST请求向服务器端提交数据格式有4中,分别是”application/x-www-form-urlencoded”格式、” multipart/form-data”格式、”application/json”格式和”text/xml”格式。通常最常见的是”application/...

    java发送http请求报文json

    对于 Java 开发者来说,能够熟练掌握如何使用 Java 来构建 HTTP 请求并发送 JSON 数据是一项重要的技能。下面将详细介绍如何使用 Java 发送一个包含 JSON 数据的 HTTP POST 请求。 #### 代码解析 该示例代码展示了...

    PB读写JSON格式数据

    标题中的“PB读写JSON格式数据”指的是使用PowerBuilder(PB)这一编程工具处理JavaScript Object Notation(JSON)格式的数据。在现代Web开发中,JSON因其简洁性和易读性成为数据交换的常用格式,尤其在RESTful API...

    HttpPost请求和JSON解析

    在IT行业中,网络请求是应用程序与服务器间交互的基础,而`HttpPost`请求和`JSON`解析则是其中不可或缺的两个重要环节。本篇文章将详细介绍这两个概念,以及如何在实践中进行操作,特别适合初学者进行学习。 首先,...

    狼王-HttpPost请求和JSON解析

    本篇文章将深入探讨两种常见的HTTP请求方法:HttpGet和HttpPost,以及JSON这种广泛用于数据交换的数据格式的解析。 首先,我们来理解HttpPost请求。HttpPost是HTTP协议中的一个方法,主要用于向服务器提交数据,...

    Qt工程中加入curl用于发送Post请求Get请求,数据为json格式

    qt工程中引入编译好的curl库,封装了一个类来执行post请求 可以直接拿来改造。 数据格式为json格式

    HttpClient发送post请求传输json数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于API接口的数据传递。 首先,我们需要引入Apache HttpClient库到我们的项目中。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml...

    自己实现的Json和简单HTTP请求(C++ Builder 平台)

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,而HTTP(HyperText Transfer Protocol)则是互联网上的应用层协议,用于传输超文本信息。 首先,让我们详细探讨JSON。JSON是一种文本格式,易于人...

    JSONTools 数据请求+JSON格式化

    方便广大前段程序员进行接口测试,进行Get或者Post请求,验证接口的正确性,并且可以对Json数据进行格式化处理。

Global site tag (gtag.js) - Google Analytics