iOS HTTP

Socket和HTTP区别
Socket:长连接 数据传输实时 开发效率低 数据传输效率高(可以完全自定义请求和响应头数据)
HTTP数据传输协议:短连接 基于TCP链接协议 开发效率高 容错性强 对程序员要求低 传输数据效率较低因为不管传输什么数据都要带一堆请求头和相应头
接口文档
1.请求地址(接口地址)
2.请求方式:get/post
3.请求参数介绍
4.返回数据格式:xml/json
5.返回数据介绍


image.png

HTTPSession练习
ViewController.m

#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *path = @"http://apis.juhe.cn/mobile/get?phone=1998078715&key=1a9005ff5d3f636273a09b3d6edcc639";
    NSURL *url = [NSURL URLWithString:path];
    //创建网络请求
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    //创建网络会话对象
    NSURLSession *session = [NSURLSession sharedSession];
    //创建网路任务
    NSURLSessionTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
      NSString *jsonString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
       NSLog(@"%@",jsonString);
        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
        NSDictionary *resultDic = dic[@"result"];
        NSString *str =resultDic [@"province"];
        NSLog(@"%@",str);
        //NSString *resultStr = dic[@"result"][@"province"];
    }];
    //开始执行网络任务
    [task resume];
}
@end
image.png
  • Get:获取数据时多用Get,请求参数放到请求地址的后面
  • Post:给服务器传数据多用Post,请求参数放到请求体里面

推荐阅读更多精彩内容

  • 一. 网络编程基础 在移动互联网时代,几乎所有应用都需要用到网络,只有通过网络跟外界进行数据交互、数据更新,应用才...
    Fendouzhe阅读 103评论 0 5
  • 一、URL 1、基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符)通过1个...
    风轻鱼蛋阅读 562评论 0 3
  • 一、HTTP请求方式 HTTP超文本传输协议:是短连接,是客户端主动发送请求,服务器作出响应,响应之后服务器断开。...
    woniu阅读 1,602评论 1 4
  • 手动目录HTTPHTTP是什么请求报文响应报文HTTP请求方式GET & POST 区别GET 相对 POST 的...
    Engandend阅读 95评论 0 0
  • iOS http https udp tcp dns cookie/session讲解 http几个请求方式 请求...
    孙优秀丶Unique阅读 220评论 0 2