在做请求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
分享到:
相关推荐
最近在工作中,由于合作商只提供uRL,我这边需要通过HTTP请求Get或Post方式请求Json数据,然后解析JSON格式,解析json我使用的第三方库rapidjson。开发环境是64位win7,VS2015。
在Java进行HTTP请求时,通常会遇到数据传输出现乱码的问题,尤其是在使用JSON格式传输数据,且数据中包含中文字符时更为常见。在HTTP协议中,字符编码的正确处理对于数据的正确传输至关重要。以下将详细介绍在Java中...
对于Java开发者而言,能够熟练地使用Java代码来发送JSON格式的HTTP POST请求是一项必备技能,它不仅能够增强应用的网络通信能力,还能提升与各种RESTful API的交互效率。 #### 1. 使用`HttpURLConnection`发送POST...
kettle抽取http请求,发送json参数是指使用kettle工具从http接口中抽取数据,并将抽取的数据发送到目标系统中。这里的http请求是指从外部系统中获取数据,而不是指kettle自身的http请求。 描述解释 kettle抽取http...
在Java编程中,请求JSON接口数据是常见的网络通信任务,主要应用于Web服务的客户端与服务器之间的数据交互。这里我们将深入探讨如何使用Java来获取指定接口的JSON数据,并涉及`HttpServletRquest`类的重要作用。 ...
在本项目中,"Qt 写的http 请求使用POST Json" 提供了一个使用Qt库实现HTTP POST请求的方法,用于向服务器发送JSON格式的数据。下面我们将深入探讨这个主题。 首先,我们来了解Qt中的网络编程。Qt提供了...
在Windows CE (WINCE)操作系统环境下,开发网络应用程序时,我们常常需要处理HTTP请求和JSON数据解析。这个压缩包提供了解决这个问题的两个关键组件,它们是Newtonsoft.Json Compact 3.5 For WinCE和System.Web.dll...
在Android开发中,与服务器进行数据交互是常见的需求,通常我们使用HTTP协议来发送请求,获取JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器...
本文将深入探讨如何使用C语言通过SOCKET实现HTTP协议,并且重点讲解如何构造和发送JSON格式的数据进行POST请求。我们将以Visual Studio 2013作为开发环境,通过分析“scoket_http”这个压缩包中的文件,来揭示这一...
Unity 中通过UnityWebRequest 以POST形式传JSON格式(键值对格式)的参数请求数据。
java 通过发送json,post请求,返回json数据的方法 java 通过发送json,post请求,返回json数据的方法
通常前端通过POST请求向服务器端提交数据格式有4中,分别是”application/x-www-form-urlencoded”格式、” multipart/form-data”格式、”application/json”格式和”text/xml”格式。通常最常见的是”application/...
对于 Java 开发者来说,能够熟练掌握如何使用 Java 来构建 HTTP 请求并发送 JSON 数据是一项重要的技能。下面将详细介绍如何使用 Java 发送一个包含 JSON 数据的 HTTP POST 请求。 #### 代码解析 该示例代码展示了...
标题中的“PB读写JSON格式数据”指的是使用PowerBuilder(PB)这一编程工具处理JavaScript Object Notation(JSON)格式的数据。在现代Web开发中,JSON因其简洁性和易读性成为数据交换的常用格式,尤其在RESTful API...
在IT行业中,网络请求是应用程序与服务器间交互的基础,而`HttpPost`请求和`JSON`解析则是其中不可或缺的两个重要环节。本篇文章将详细介绍这两个概念,以及如何在实践中进行操作,特别适合初学者进行学习。 首先,...
本篇文章将深入探讨两种常见的HTTP请求方法:HttpGet和HttpPost,以及JSON这种广泛用于数据交换的数据格式的解析。 首先,我们来理解HttpPost请求。HttpPost是HTTP协议中的一个方法,主要用于向服务器提交数据,...
qt工程中引入编译好的curl库,封装了一个类来执行post请求 可以直接拿来改造。 数据格式为json格式
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛用于API接口的数据传递。 首先,我们需要引入Apache HttpClient库到我们的项目中。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,而HTTP(HyperText Transfer Protocol)则是互联网上的应用层协议,用于传输超文本信息。 首先,让我们详细探讨JSON。JSON是一种文本格式,易于人...
方便广大前段程序员进行接口测试,进行Get或者Post请求,验证接口的正确性,并且可以对Json数据进行格式化处理。