23-向服务器发送JSON、url转码、多值参数
来源:互联网 发布:豆瓣批量发帖软件 编辑:程序博客网 时间:2024/06/17 00:36
1)发送json给服务器
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ // 1.URL NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/order"]; // 2.请求 NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; // 3.请求方法 request.HTTPMethod = @"POST"; // 4.设置请求体(请求参数) // 创建一个描述订单信息的JSON数据 NSDictionary *orderInfo = @{ @"shop_id" : @"1243324", @"shop_name" : @"啊哈哈哈", @"user_id" : @"899" };// 把字典转化成NSDataNSData *json = [NSJSONSerialization dataWithJSONObject:orderInfo options:NSJSONWritingPrettyPrinted error:nil]; request.HTTPBody = json; // 5.设置请求头:这次请求体的数据不再是普通的参数,而是一个JSON数据 [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; // 6.发送请求[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (data == nil || connectionError) return; NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]; NSString *error = dict[@"error"]; if (error) { [MBProgressHUD showError:error]; } else { NSString *success = dict[@"success"]; [MBProgressHUD showSuccess:success]; } }];}
2)URL的转码问题
url中不能包含中文,所以呢要对中文进行转码
NSString *urlStr = [NSString stringWithFormat:@"http://localhost/login?username=喝喝&pwd=123"];urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
3 )向服务器发送多值参数
http://localhost:8080/MJServer/weather?place=beijing&place=shenzhen&place=ss 这种类型就是多值参数。其返回内容是:{“weathers”:[{“city”:”beijing”,”status”:”晴转多云”},{“city”:”shenzhen”,”status”:”晴转多云”},{“city”:”ss”,”status”:”晴转多云”}]}
代码:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSURL *url = [NSURL URLWithString:@"http://localhost:8080/MJServer/weather"]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; // 设置请求ff request.HTTPMethod = @"POST"; // 设置请求体(请求参数) NSMutableString *param = [NSMutableString string]; [param appendString:@"palce=beijing"]; [param appendString:@"&place=tianjin"]; [param appendString:@"&place=luyi"]; param = [NSMutableString stringWithString:[param stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; // 如果需要http encode的话,加上此句 request.HTTPBody = [param dataUsingEncoding:NSUTF8StringEncoding]; // 发送请求 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { if (data == nil || connectionError) { NSLog(@"HAVE A ERROR"); } NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil]; NSLog(@"%@",dict); NSString *error = dict[@"error"]; if (error) { [MBProgressHUD showError:error]; }else{ NSLog(@"%@",dict); } }];}
0 0
- 23-向服务器发送JSON、url转码、多值参数
- xutils向服务器发送json
- 发送json数据给服务器以及多值参数
- 向服务器发送请求参数
- Ajax---发送参数:使用JSON替代XML向服务器发送数据
- 向指定服务器URL 发送POST方法的请求并用JSON表示
- 向Url发送post请求传递参数
- 使用JSON向服务器发送数据
- Ajax - 使用JSON向服务器发送数据
- 使用JSON向服务器发送数据
- 向服务器发送json格式字符串
- 安卓向服务器(Spring)发送json
- Ajax使用JSON向服务器发送数据
- 客户端向服务器发送json数组
- 向指定 URL 发送GET,POST方法的请求(传入指定url和参数,服务器返回字符串数据)
- iOS开发网络篇—发送json数据给服务器以及多值参数
- iOS开发网络篇—发送json数据给服务器以及多值参数
- iOS开发网络—11发送json数据给服务器以及多值参数
- Android第二十天 ViewPager
- vector的用法
- c++ 访问 elasticsearch 的API
- linux网络设备—PHY
- 欢迎使用CSDN-markdown编辑器
- 23-向服务器发送JSON、url转码、多值参数
- linux网络设备—mdio总线
- Devexpress使用之:GridControl控件
- 图像添加高斯噪声、胡椒噪声、盐噪声和椒盐噪声
- 亮瞎:当复仇者联盟穿上东北大花袄
- Can't add self as subview crash的出现的可能及解决方法
- c#查找相应目录下文件
- Android开发实践:使用Service还是Thread
- 1027. 打印沙漏(20)