[摘要]本文是對iOS開發之--HTTP請求的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。
一.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:簡單易用,產自印度,維護和使用者少.
三.兩種常用的請求方法
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];