网络解析 get 和post
//get同步
- (IBAction)getT:(id)sender {
//准备一个Url
NSURL *url=[NSURL URLWithString:BASE_URL];
//创建一个请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
//选择请求方式
[request setHTTPMethod:@"GET"];
//创建响应对象
NSURLResponse *response=nil;
//是否出错
NSError *error=nil;
//创建连接
NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
//解析数据
NSArray*arr=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];
//转换成字符串
NSString *s=[NSString stringWithFormat:@"%@",arr];
//打印
NSLog(@"%@",s);
}
*******************************************
//POST 同步
- (IBAction)postT:(id)sender {
//准备一个url
NSURL *url=[NSURL URLWithString:BASE_URL_2];
//创建一个请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
//body
NSData *databody=[BASE_URL_2_PARAM dataUsingEncoding:NSUTF8StringEncoding];
//给请求设置body
[request setHTTPBody:databody];
//创建连接
NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//数据解析
NSDictionary *dic=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];
NSString *s=[NSString stringWithFormat:@"%@",dic];
NSLog(@"%@",s);
}
*****************************
//GET 异步 代理
- (IBAction)getYBDL:(id)sender {
//准备 URl
NSURL *url=[NSURL URLWithString:BASE_URL];
//创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
//创建链接(同时设置代理)
NSURLConnection*conn=[NSURLConnection connectionWithRequest:request delegate:self];
//启动链接
[conn start];
}
//代理方法一 :接收到响应
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
self.redata=[NSMutableData data];
}
//代理方法二:接收数据
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[self.redata appendData:data];
}
//代理方法三:接收完成处理数据
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
//数据处理
NSArray *arr=[NSJSONSerialization JSONObjectWithData:self.redata options:(NSJSONReadingMutableContainers) error:nil];
NSString *s=[NSString stringWithFormat:@"%@",arr];
NSLog(@"%@",s);
}
//代理方法四:出错
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
}
******************************************************
//POST异步 block
- (IBAction)postBLOCK:(id)sender {
//准备url
NSURL *url=[NSURL URLWithString:BASE_URL_2];
//创建请求对象
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
//加body
NSData *databody=[BASE_URL_2_PARAM dataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:databody];
//创建连接
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
//解析数据
NSArray *arr=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];
//转换数据
NSString *s=[NSString stringWithFormat:@"%@",arr];
//打印
NSLog(@"%@",s);
}];
}
***************************************************
//GET异步 block
- (IBAction)getBLOCK:(id)sender {
NSURL *url=[NSURL URLWithString:BASE_URL];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSArray *arr=[NSJSONSerialization JSONObjectWithData:data options:(NSJSONReadingMutableContainers) error:nil];
NSString *s=[NSString stringWithFormat:@"%@",arr];
NSLog(@"%@",s);
}];
}
网络解析 get 和post的更多相关文章
- IOS 网络解析
网络解析同步异步 /*------------------------get同步-------------------------------------*/ - (IBAction)GET_TB:( ...
- 【读书笔记】iOS网络-解析响应负载
Web Service可以通过多种格式返回结构化数据, 不过大多数时候使用的是XML与JSON.也可以让应用只接收HTML结构的数据.实现了这些Web Service或是接收HTML文档的应用必须能解 ...
- GET/POST请求的使用《极客学院 --AFNetworking 2.x 网络解析详解--2》学习笔记
AFNetworking是开源代码排名第一的开源库. GET请求的请求正文 一般都是明文显示的,携带的数据量小. POST用于处理复杂的业务,并不用明文的请求,其实POST请求可以携带更多的参数,只 ...
- docker网络解析
Docker概念和默认网络 什么是Docker网络呢?总的来说,网络中的容器们可以相互通信,网络外的又访问不了这些容器.具体来说,在一个网络中,它是一个容器的集合,在这个概念里面的一个容器,它会通过容 ...
- openshift pod对外访问网络解析
openshift封装了k8s,在网络上结合ovs实现了多租户隔离,对外提供服务时报文需要经过ovs的tun0接口.下面就如何通过tun0访问pod(172.30.0.0/16)进行解析(下图来自理解 ...
- 网络请求的基本知识《极客学院 --AFNetworking 2.x 网络解析详解--1》学习笔记
网络请求的基本知识 我们网络请求用的是HTTP请求 Http请求格式:请求的方法,请求头,请求正文 Http请求的Request fields:请求的头部,以及被请求头部的一些设置 Http请求的 ...
- 网络解析之XML及JSON
首先要加入类库GDataXMLNode和JSON 解析本地文件Students.txt <students> <student> <name>汤姆 </nam ...
- 网络解析(一):LeNet-5详解
https://cuijiahua.com/blog/2018/01/dl_3.html 一.前言 LeNet-5出自论文Gradient-Based Learning Applied to Docu ...
- Kubernetes pod网络解析
在Kubernetes中,会为每一个pod分配一个IP地址,pod内的所有容器都共享这个pod的network namespace,彼此之间使用localhost通信. 那么pod内所有容器间的网络是 ...
随机推荐
- 从汇编看c++中指向成员变量的指针(一)
在c++中,指向类成员变量的指针存储的并不是该成员变量所在内存的地址,而仅仅是该成员变量在该类对象中相对于对象首地址的偏移量.因此,它必须绑定到某一个对象或者对象指针上面,这里的对象和对象指针,就相当 ...
- $ cd `dirname $0` 和PWD%/* shell变量的一些特殊用法
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的.因为他返回当前路径的".". $0:当前Shell程序的文件名dirname $0,获取当前Shell程序 ...
- iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件
iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 步骤 第一步:在 Proj ...
- AngularJS 深入理解 $scope 转载▼
AngularJS 深入理解 $scope 转载▼ (2015-04-07 14:09:50) $scope 的使用贯穿整个 AngularJS App 应用,它与数据模型相关联,同时也是表达 ...
- apache配置gzip模式(转)
最近在看有关提高website性能的书,个人觉得挺不错的两本书: <<high performance websites>> <<even faster websi ...
- logstash grok正则调试
logstash 正则调试: nginx 配置: log_format main '$remote_addr [$time_local] "$request" '; logstas ...
- Ruby小例子
1.ruby定义函数与执行函数案例 def fact(n) ) end end print fact() 结果: 24 2.一个小例子 words = [)] print "guess?\n ...
- U盘量产的作用
优盘量产:字面意思就是,批量生产优盘.是指批量对U盘主控芯片改写数据,如,写生产厂商信息.格式化等.而用来对U盘完成该操作的软件程序,顾名思义就是U盘量产工具. U盘量产的作用: 电脑正确识别 ...
- cocos2d-x 3.0游戏实例学习笔记《卡牌塔防》第七步---英雄要升级&属性--解析csv配置文件
/* 说明: **1.本次游戏实例是<cocos2d-x游戏开发之旅>上的最后一个游戏,这里用3.0重写并做下笔记 **2.我也问过木头本人啦.他说:随便写,第一别全然照搬代码:第二能够说 ...
- 搭建PhoneCat项目的开发与测试环境
AngularJS官方网站提供了一个用于学习的示例项目:PhoneCat.这是一个Web应用,用户可以浏览一些Android手机,了解它们的详细信息,并进行搜索和排序操作. 获取源代码 PhoneCa ...