美文网首页
iOS网络请求http之NSURLConnection简单同步请

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

作者: 小沫360 | 来源:发表于2016-02-15 00:17 被阅读1198次

    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。请点击这里

    相关文章

      网友评论

          本文标题:iOS网络请求http之NSURLConnection简单同步请

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