傳送網路請求要使用非同步的方式,不能使用同步的方式
並且非同步的get請求有兩種方式
使用 sendasynchronousrequest 方法實現
//設定請求路徑
nsstring *urlstr = [nsstring stringwithformat:@"", username, password];
//按照utf8編碼 轉成沒有中文的字串
urlstr = [urlstr stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];
//url不能包含中文
nsurl *url = [nsurl urlwithstring:urlstr];
//建立請求物件,預設就是get請求
nsmutableurlrequest *request = [nsmutableurlrequest requestwithurl:url];
//建立乙個佇列,因為介面重新整理的操作只能在主線程,所以這個佇列一般就是主線程佇列
nsoperationqueue *queue = [nsoperationqueue mainqueue];
//開始傳送非同步請求,其中data為伺服器端返回的所有資料,**塊為請求結束所執行的事
[nsurlconnection sendasynchronousrequest:request queue:queue completionhandler:^(nsurlresponse *response, nsdata *data, nserror *connectionerror) else
}}];
第二種方法是使用**方法,這個也是非同步請求,當請求開始其他執行緒就會執行**方法
開始乙個網路請求
//也是乙個非同步的
nsurlconnection *conn = [nsurlconnection connectionwithrequest:request delegate:self];
//請求開始
[conn start];
四個常用的**方法
//收到伺服器端的回應()請求成功 第一執行
-(void)connection:(nsurlconnection *)connection didreceiveresponse:(nsurlresponse *)response {}
//伺服器端返回資料就會呼叫這個方法,可能會呼叫多次,因為每次只返回一部分資料 第二執行
-(void)connection:(nsurlconnection *)connection didreceivedata:(nsdata *)data {}
//接受玩資料會呼叫 最後執行
-(void)connectiondidfinishloading:(nsurlconnection *)connection {}
完整**
//設定請求路徑
nsstring *urlstr = [nsstring stringwithformat:@"", username, password];
//按照utf8編碼 轉成沒有中文的字串
urlstr = [urlstr stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];
//url不能包含中文
nsurl *url = [nsurl urlwithstring:urlstr];
//建立請求物件,預設就是get請求
nsmutableurlrequest *request = [nsmutableurlrequest requestwithurl:url];
request.timeoutinterval = 5;//設定請求超時時間
//直接就發出乙個非同步請求
[nsurlconnection connectionwithrequest:request delegate:self];
}#pragma mark -實現**方法
//請求錯誤或者失敗的時候呼叫(斷網)請求失敗會執行這個
-(void)connection:(nsurlconnection *)connection didfailwitherror:(nserror *)error
//收到伺服器端的回應()請求成功 第一執行
-(void)connection:(nsurlconnection *)connection didreceiveresponse:(nsurlresponse *)response
//伺服器端返回資料就會呼叫這個方法,可能會呼叫多次,因為每次只返回一部分資料 第二執行
-(void)connection:(nsurlconnection *)connection didreceivedata:(nsdata *)data
//接受玩資料會呼叫 最後執行
-(void)connectiondidfinishloading:(nsurlconnection *)connection else
}
iOS開發網路篇 GET請求和POST請求
一 get請求和post請求簡單說明 建立get請求 1 1.設定請求路徑 2 nsstring urlstr nsstring stringwithformat self.username.text,self.pwd.text 3 nsurl url nsurl urlwithstring url...
iOS開發網路篇 GET請求和POST請求
一 get請求和post請求簡單說明 建立get請求 1 1.設定請求路徑 2 nsstring urlstr nsstring stringwithformat self.username.text,self.pwd.text 3 nsurl url nsurl urlwithstring url...
ios開發網路篇 Get請求和Post請求
一.get請求和post請求簡單說明 建立get請求 1.設定請求路徑 nsstring urlstr nsstring stringwithformat self username text,self pwd text nsurl url nsurl urlwithstring urlstr 2....