美文网首页
IOS 同步异步请求

IOS 同步异步请求

作者: 小暖风 | 来源:发表于2017-08-19 17:34 被阅读40次

同步请求步骤:

NSIntegerpage =1;

NSIntegercount =10;

NSString*string=[NSStringstringWithFormat:@"http://192.168.88.8/sns/my/user_list.php?page=%d&number=%d",page,count];

//构造url

NSURL*url = [NSURLURLWithString:string];

//同步下载url里面的内容放在jsonStr中

NSString*jsonStr = [NSStringstringWithContentsOfURL:urlencoding:NSUTF8StringEncodingerror:nil];

NSLog(@"%@",jsonStr);

异步请求(get请求)

NSMutableData*downloadData;//用来保存下载的二进制数据

NSString*string=[NSStringstringWithFormat:@"http://192.168.88.8/sns/my/user_list.php?page=%d&number=%d",page,count];

//构造url

NSURL*url = [NSURLURLWithString:string];

//构造请求类对象

NSURLRequest*request=[NSURLRequestrequestWithURL:url];

//创建连接类对象,此方式异步方法,一旦对象创建,就开始了数据下载,通过协议方法回调

NSURLConnection*httpConnection=[[NSURLConnectionalloc]initWithRequest:requestdelegate:self];

异步请求(post请求)

//设置请求的参数

NSString*post = [[NSStringalloc]initWithFormat:@"page=%d&number=%d",page,count];

//转换成NSData格式

NSData*postData = [postdataUsingEncoding:NSASCIIStringEncodingallowLossyConversion:YES];

NSString*string = [NSStringstringWithFormat:@"http://192.168.88.8/sns/my/user_list.php"];

//构造url

NSURL*url = [NSURLURLWithString:string];

//构造请求类对象(用NSMutableURLRequest实例可以对请求信息重新设置)

NSMutableURLRequest*request=[[NSMutableURLRequestalloc]init];

[requestsetURL:url];

[requestsetHTTPMethod:@"Post"];//设置请求方式

[requestsetTimeoutInterval:60];//设置超时时间

[requestsetHTTPBody:postData];//设置请求参数

//创建连接类对象,此方式异步方法,一旦对象创建,就开始了数据下载,通过协议方法回调

NSURLConnection*httpConnection=[[NSURLConnectionalloc]initWithRequest:requestdelegate:self];

//回调方法

//收到服务器的响应

-(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response

{

//打印状态码

//[response isMemberOfClass:<#(Class)#>]

if([responseisKindOfClass:[NSHTTPURLResponseclass]]) {

NSHTTPURLResponse*newREsponse=(NSHTTPURLResponse*)response;

NSLog(@"状态码:%d",[newREsponsestatusCode]);

}

//收到新回应清空旧数据

[downloadDatasetLength:0];

}

//开始接收数据,此方法多次调用

-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data

{

//将每次接收的数据保存

[downloadDataappendData:data];

}

//数据下载完成

-(void)connectionDidFinishLoading:(NSURLConnection*)connection{

//请求下载出来的数据 UIlabel 展现出来

NSString*dataString = [[NSStringalloc]initWithData:downloadDataencoding:NSUTF8StringEncoding];

//请求失败的协议方法

-(void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error

{

NSLog(@"请求失败");

}

POST

客户端发起请求,服务端给响应。

GET和POST响应是一样的,请求不一样。

响应分响应头和响应体两部分。

响应头: status 200Content - Type : image/pngContent - Length :1000011

GET请求,只有请求头。www.baidu.com/a.php?a=1&b=2。请求数据一般用GET。

POST请求,既有请求头(Content-Type:......Content-Length:....)www.baidu.com/a.php,也有请求体?a=1&b=2。上传一般用POST。

相关文章

  • iOS - NSURLConnection&&N

    一、NSURLConnection iOS7之后不建议使用 GET请求发送同步请求 发送异步请求 POST请求: ...

  • IOS 同步异步请求

    同步请求步骤: NSIntegerpage =1; NSIntegercount =10; NSString*st...

  • Okhttp3

    简介 配置 请求思路 get请求思路 post请求思路 get,post 同步和异步请求 异步请求(get) 同步...

  • 网络协议

    网络请求分为4类:GET同步请求GET异步请求POST同步请求POST异步请求 同步网络请求步骤: 1:创建网址字...

  • iOS联网方式

    说明: 地址请查询API手册 iOS8以前的联网方式 同步请求 异步请求 NSURLConnection NSUR...

  • 网络请求数据并且解析的过程(推荐AFNetworking)

    demo1.http请求,get同步异步,post同步异步get同步 get异步 post异步 2.session...

  • Ajax请求——异步请求原理的分析

    我们知道,ajax是一种异步请求的方式,想要了解异步请求,就必须要先从同步请求说起。 同步请求原理 常见的同步请求...

  • OKHTTP

    OKHTTP 引用 权限配置 测试URL 同步请求 异步请求 异步get请求 异步测试post请求 Retrofi...

  • 基于Spring框架实现异步请求与异步调用

    一、异步请求 1.1 同步请求与异步请求 首先看一下同步请求的线程执行模型: 接着看一下异步请求的线程执行模型: ...

  • Android知名三方库OKHttp(一) - 基本使用源码分析

    本文目标 搞明白OKHttp的源码同步请求和异步请求基本流程 基本使用 同步请求 异步请求 1.创建okHttpC...

网友评论

      本文标题:IOS 同步异步请求

      本文链接:https://www.haomeiwen.com/subject/uentdxtx.html