iOS网络请求http之NSURLConnection简单同步请

2016-02-15  本文已影响1198人  小沫360

NSURLConnection是负责发送请求,建立客户端和服务器的连接。发送数据给服务器,并接受来自服务器的响应数据。

使用NSURLConnection发送请求的分3步

(1)创建一个NSURL对象,设置请求路径

(2)传入NSURL创建一个NSURLRequest对象,设置请求头和请求体,请求超时...(创建请求对象)

(3)使用NSURLConnection发送NSURLRequest(发送请求)

NSURLConnection提供了两种发送网络请求的方法,分别是

1、同步请求,返回data数据,会卡主UI主线程。

+ (nullable NSData *)sendSynchronousRequest:(NSURLRequest *)request returningResponse:(NSURLResponse * __nullable * __nullable)response error:(NSError **)error;

2、异步请求,数据通过block返回,不卡主线程。

+ (void)sendAsynchronousRequest:(NSURLRequest*) request

queue:(NSOperationQueue*) queue

completionHandler:(void (^)(NSURLResponse* __nullable response, NSData* __nullable data, NSError* __nullable connectionError)) handler;

3、对应代码

// 创建一个URL :请求路径

NSString *urlStr = [NSString stringWithFormat:@"http://xxx.com"];

NSURL *url = [NSURL URLWithString:urlStr];

// 创建一个请求,默认为GET请求

NSURLRequest *request = [NSURLRequest requestWithURL:url];

// 发送一个同步请求(在主线程发送请求)

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

一个简单的NSURLConnection的同步请求的demo。请点击这里

上一篇下一篇

猜你喜欢

热点阅读