iOS进阶(网络请求)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS进阶(网络请求)相关的知识,希望对你有一定的参考价值。

1.网络请求方式

GET:通过网址字符串  网址字符串最多255字节  所有传输给服务器的数据都显示在网址里,直接可见,不安全

POST:通过data  容量很大 数据被转换成二进制数 安全

2.连接方式

同步连接:程序容易出现卡死现象

异步连接:等待数据返回 (有代理和block两种方式)创建请求对象时,采用NSMutableURLRequest对象并设置请求方式和body主体

POSTBlock异步block

 //创建一个NSURLSession对象
    NSURLSession *session = [NSURLSession sharedSession];
    
    //创建一个URL对象
    NSURL *url = [NSURL URLWithString:@"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx"];
    
    //创建一个请求
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setHTTPMethod:@"POST"];
    [request setHTTPBody:[@"date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213" dataUsingEncoding:NSUTF8StringEncoding]];
    
    NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
        //解析
        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:nil];
        NSLog(@"%@",dic);
    }];
    [task resume];

 

以上是关于iOS进阶(网络请求)的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

VSCode自定义代码片段14——Vue的axios网络请求封装

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

iOS进阶_Socket(Socket简介&代码演练)

UI进阶之数据解析(网络请求NSURLSession)