iOS開發網路篇 GET請求和POST請求

2021-09-07 01:39:02 字數 2574 閱讀 7457

一、get請求和post請求簡單說明

建立get請求

1 //1.設定請求路徑

2 nsstring *urlstr=[nsstring stringwithformat:@"",self.username.text,self.pwd.text]; 3 nsurl *url=[nsurl urlwithstring:urlstr]; 4 5 //2.建立請求物件 6 nsurlrequest *request=[nsurlrequest requestwithurl:url]; 7 8 //3.傳送請求

伺服器:

建立post請求

1     //1.設定請求路徑

2 nsurl *url=[nsurl urlwithstring:@""];//不需要傳遞引數 3 4 //2.建立請求物件 5 nsmutableurlrequest *request=[nsmutableurlrequest requestwithurl:url];//預設為get請求 6 request.timeoutinterval=5.0;//設定請求超時為5秒 7 request.httpmethod=@"post";//設定請求方法 8 9 //設定請求體 10 nsstring *param=[nsstring stringwithformat:@"username=%@&pwd=%@",self.username.text,self.pwd.text]; 11 //把拼接後的字串轉換為data,設定請求體 12 request.httpbody=[param datausingencoding:nsutf8stringencoding]; 13 14 //3.傳送請求

伺服器:

二、比較

建議:提交使用者的隱私資料一定要使用post請求

相對post請求而言,get請求的所有引數都直接暴露在url中,請求的url一般會記錄在伺服器的訪問日誌中,而伺服器的訪問日誌是黑客攻擊的重點物件之一

使用者的隱私資料如登入密碼,銀行賬號等。

三、使用

1.通過請求頭告訴伺服器,客戶端的型別(可以通過修改,欺騙伺服器)

1     //1.設定請求路徑

2 nsurl *url=[nsurl urlwithstring:@""];//不需要傳遞引數 3 4 //2.建立請求物件 5 nsmutableurlrequest *request=[nsmutableurlrequest requestwithurl:url];//預設為get請求 6 request.timeoutinterval=5.0;//設定請求超時為5秒 7 request.httpmethod=@"post";//設定請求方法 8 9 //設定請求體 10 nsstring *param=[nsstring stringwithformat:@"username=%@&pwd=%@",self.username.text,self.pwd.text]; 11 //把拼接後的字串轉換為data,設定請求體 12 request.httpbody=[param datausingencoding:nsutf8stringencoding]; 13 14 //客戶端型別,只能寫英文 15 [request setvalue:@"ios+android" forhttpheaderfield:@"user-agent"];

伺服器:

2.加強對中文的處理

問題:url不允許寫中文

在get請求中,相關**段打斷點以驗證。

在字串的拼接引數中,使用者名稱使用「文頂頂」.

轉換成url之後整個變成了空值。

解決:進行轉碼

1 //1.設定請求路徑

2 nsstring *urlstr=[nsstring stringwithformat:@"",self.username.text,self.pwd.text]; 3 //轉碼 4 urlstr= [urlstr stringbyaddingpercentescapesusingencoding:nsutf8stringencoding]; 5 nsurl *url=[nsurl urlwithstring:urlstr]; 6 7 //2.建立請求物件 8 nsurlrequest *request=[nsurlrequest requestwithurl: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 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....