一.HTTP请求方法
请求方法(不区分大小写),一般只用前两个:
GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT、PATCH
二.发送http请求的工具
<1>苹果原生:
* NSURLConnection:用法简单,古老经典的一种方案.现在已不推荐使用
* NSURLSession:iOS7以后推出的技术,功能比NSURLConnection更加强大
* CFNetWork:NSURL 的底层,纯C语言,一般不用.
<2>第三方框架:
* ASIHttpRequest:http终结者,功能很强大,可惜作者已停止更新,2012年停止更新。
* AFNetWorking:简单易用,提供了基本够用的常用功能,维护和使用者多.
* MKNetWorkKit:简单易用,产自印度,维护和使用者少.
* AFNetWorking:简单易用,提供了基本够用的常用功能,维护和使用者多.
* MKNetWorkKit:简单易用,产自印度,维护和使用者少.
三.两种常用的请求方法
1.GET请求
// 1. GET 请求的请求参数都拼接在 url 中.
// 2. ?号后面都是参数内容.?前面是具体的接口名称.
// 3. 参数格式: key=value 的格式.
// 4. key:是服务器接收参数的key值.一般是服务器人员告诉我们.
// 5. 多个参数之间以 & 符号分割
// 对于 GET 请求,请求参数都封装在了 url 中,只要截取到url都能获得参数内容.GET请求不安全!
// url是有长度限制的!如果参数比较多,是不能使用GET 请求发送的.
// GET请求默认会在本地做数据缓存.
2.POST请求
// 1.POST请求的所有参数都封装在请求体中.理论上没有长度限制.
// 2.外界查看不到POST的请求参数,POST请求比GET请求安全!涉及到私密信息的传递,一定要使用POST请求.
// 3.POST请求默认情况下,不会在本地做数据缓存.
// 文件上传只能使用POST请求.
// 4.设置请求方法为 POST 方法.
request.HTTPMethod = @"POST";
// 5.设置请求体内容,二进制
request.HTTPBody = [self getHttpBody];