get&post
get和post是兩種最常用的與伺服器進行互動的http方法
get語意是獲取指定url的資源。
將資料按照variable=value的形式,新增到action所指向的url後面,並且兩者只用「?」連線,各變數之間使用「&」連線。
貌似不安全,因為在傳輸過程中,資料被放在請求的url中。
傳輸的資料量小,這主要是因為受url長度限制。
post
post的語意說向指定url的資源新增資料。
將資料放在資料體中,按照變數和值相對應的方式,傳遞到action所指向url。
所有資料對使用者來說不可見。
可以傳輸大量資料,上傳檔案只能使用post。
get請求示例
localhost:本地主機
ogin.php:資源名稱
語意:從本地主機的login.php資源獲取(操作)指定使用者名稱和密碼的登陸情況。
post請求示例在瀏覽器中判斷get&post請求
因為post請求會向伺服器傳送資料體,因此在重新整理頁面時會出現提示視窗。
而get請求不會向伺服器傳送資料體,因此沒有提示。
從請求的本質而言,get請求要比post請求更安全,效率更高。
利用firebug輕鬆檢視post請求的內容
開發網路應用時,用瀏覽器跟蹤url的返回結果是開發的重要輔助手段。
ios網路傳送請求的步驟
1.例項化url(網路資源)
2.根據url建立urlrequest(網路請求)
預設為get請求
對於post請求,需要建立請求的資料體。
3.利用urlconnection傳送網路請求(建立連線)。
4.獲得結果
nsurlconnection提供了兩個靜態方法可以直接同步或非同步的方式向伺服器傳送網路請求。
同步請求
sendsynchronousrequest:returningresponse:error:
非同步請求:
sendasynchronousrequest:queue:completionhandler:
網路傳輸之二進位制資料流
在網路請求過程中,接受資料的過程實際上是通過
nsurlconnectiondatadelegate來實現的,常用**方法包括:
伺服器開始返回資料,準備工作使用**的優缺點將資料寫入檔案- (void
)connection:didreceiveresponse:
收到伺服器返回的資料(本方法會被呼叫多次)
- (void
)connection:didreceivedata:
資料接收完畢,做資料的最後處理
- (void
)connectiondidfinishloading:
網路連線錯誤
- (void
)connection:didfailwitherror:
讓nsurlconnectiondatadelegate非同步執行
[connection setdelegatequeue:[nsoperationqueue alloc] init]
//1.開啟檔案
nsfilehandle *fp =[nsfilehandle filehandleforwritingatpath:self.downloadpath];
//2.如果檔案不存在
if (fp ==nil)
else
關於iOS中網路請求漢字轉碼問題
在網路請求中,漢字形式的string是必不可少的,相信各位肯定越到過漢字編碼解碼的問題,下面是對漢字進行上傳編碼,拉取解碼的方法 需要轉化成 utf 8 用到的方法是 nsstring encodingstring urlstring stringbyaddingpercentescapesusin...
iOS 前端和後端互動 get請求 post請求
get請求 把我們想要獲取的使用者名稱和密碼加到url後面,傳送request請求到伺服器,伺服器去驗證它 資料庫 有沒有相同的使用者名稱和密碼 void getrequest post請求 建立乙個字典,字典裡面是我們使用者輸入的使用者名稱和密碼,把這個字典加到data資料裡面,在request請...
IOS開發之網路同步GET請求
在網路請求中,http網路請求使用的最多,不管是獲取文字還是獲取二進位制資料,亦或是將資料提交到伺服器上。http請求使用起來最為簡單,http請求型別分為好幾種,例如 get,post,put,delete。這其中最為常見的兩種形式就是get和post。get是用來從伺服器上獲得資料的請求方式。同...