網路請求的方式分類
建立url物件
/* 第1種方法
*/nsstring *string = [nsstring stringwithcontentsofurl:url encoding:nsutf8stringencoding error:nil];
/* 第2種方法
*/nsdata *data = [nsdata datawithcontentsofurl:url];
/* 第3種方法(使用nsurlconnection傳送同步請求)
*/3.1 建立請求物件
nsurlrequest *request = [nsurlrequest requestwithurl:url];
3.2 傳送同步請求
[nsurlconnection sendsynchronousrequest:request returningresponse:nil error:nil];
非同步請求 (常用nsurlconnection, afnetworking, nsurlsession, 下乙份筆記會詳細對比)
/*
第1種方法
*/1.1 建立url物件
1.2 建立請求物件
nsurlrequest *request = [nsurlrequest requestwithurl:url];
1.3 傳送非同步請求
[nsurlconnection sendasynchronousrequest:request queue:[nsoperationqueue mainqueue] completionhandler:^(nsurlresponse * _nullable response, nsdata * _nullable data, nserror * _nullable connectionerror) ];
/*
第2種方法
*/2.1 建立請求物件
nsurlrequest *request = [nsurlrequest requestwithurl:url];
2.2 傳送非同步請求, 並繫結其**為self
[nsurlconnection connectionwithrequest:request delegate:self];
``````
2.3 實現第乙個**方法(只有在收到伺服器響應時會觸發)
//注意:引數response即伺服器返回的響應頭, 包含返回資料的各種資訊, 如檔名,檔案大小,檔案型別
- (void)connection:(nsurlconnection *)connection didreceiveresponse:(nsurlresponse *)response
2.4 實現第二個**方法(接受伺服器傳過來的資料)
伺服器會分段把資料傳給客戶端, 因此該方法可能會走多次.
- (void)connection:(nsurlconnection *)connection didreceivedata:(nsdata *)data
(void)connectiondidfinishloading:(nsurlconnection *)connection
- (void)connection:(nsurlconnection *)connection didfailwitherror:(nserror *)error
網路協議
http請求的結構
http最常用的請求的方法
post請求(常用)
網路請求的注意事項
對urlstring進行utf8編碼 --> 轉換成url
nsstring *urlstring = @"開發"
urlstring = [urlstring stringbyaddingpercentescapesusingencoding:nsutf8stringencoding];
nsurl *url = [nsurl urlwithstring:urlstr];
nsurl->nsstring ====> [url absolutestring]
nsstring->nsurl ====> [nsurl urlwithstring:@""]
網路基礎知識(http請求)
http請求的過程 tcp的四次揮手 http和https的區別 1.https 需要到ca申請證書 2.http是超文字傳輸協議,資訊是明文傳輸,https則是具有安全性的ssl加密傳輸協議 3.http和https使用埠不一致,前者是80,後者是443 4.http的連線很簡單,是無狀態的。ht...
Request請求基礎知識
tomcat伺服器的實際行為 其中的資源路徑 正是 webservlet demo3 中的資源路徑 1.通過該路徑可以載入這個路徑指向的類,並建立該類物件,2.之後再建立request,response物件,並傳入該類物件的service方法,再執行 其中request物件中封裝了請求資料,resp...
網路基礎知識 網路基礎知識普及一
網路基礎知識普及一 mp.weixin.qq.com 1 什麼是鏈結?鏈結是指兩個裝置之間的連線。它包括用於乙個裝置能夠與另乙個裝置通訊的電纜型別和協議。2 osi 參考模型的層次是什麼?有 7 個 osi 層 物理層,資料鏈路層,網路層,傳輸層,會話層,表示層和應用層。3 什麼是骨幹網?骨幹網路是...