1、網路請求的步驟: 1.肯定地址NSURL 2.創建NSURLRequest 3.創建並啓動鏈接NSURLConnection 經過代理方法處理網絡請求 遵照協議:NSURLConnectionDataDelegate 2、網路代理方法 1.接受呆服務器的響應,服務器要傳數據,客戶端作接收準備 2.接收服務器傳輸的數據,可能會屢次執行 3.接收數據完成,作後續處理 4.服務器請求失敗,緣由不少(網路環境等等) 5.向服務器發送數據,此方法經適用於POST,尤爲上傳文件 3、GET方法 在NSURL中指定參數(若是有,就能夠不指定參數),例如:http://www.baidu.com 4、POST方法 定義一個可變的URLMutableRequest 1)時長 [request setTimeOutInterVal:2.0f]; 2)請求方式(默認是GET) [request setHTTPMethod:@"POST"]; 3)數據體 NSData *body = [string dataUsingEncoding:NSUTF8StringEncoding]; [request setHTTPBody:body]; 5、同步方法--必需要摸個網路請求完成後,才能後續執行,例如網銀登錄 看到方法參數中包含__autoreleasing字樣,在定義對象名前面加上"&" NSURLResponse *response = nil; NSError *error = nil; 同步操做沒用完成,後面的代碼不會執行 NSData *data = [NSURLConnecion sendSynchronousRequest:request returningResponse:&response error:&error]; 1>接受到數據,表示工做正常 2>沒有接受到數據,可是error爲nil,表示接收到空數據 一般服務器沒有對該請求作任何響應 3>error不爲空,表示請求出錯 6、異步方法 [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *reponse, NSData *data, NSError *error) { // 請求完成後的處理 }]; 異步方法不用等待網路請求結束 7、NSURLRequest 使用如下實例化方法,能夠在實例化的同時指定請求超時時長。 1.url 2.緩存策略 默認是NSURLRequestUseProtocolCachePolicy 3.超時時長 NSURLRequest *rq = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];