你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> iOS開發網絡篇—GET請求和POST請求

iOS開發網絡篇—GET請求和POST請求

編輯:IOS技巧綜合
[摘要]本文是對iOS開發網絡篇—GET請求和POST請求的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

iOS開發網絡篇—GET請求和POST請求

一、GET請求和POST請求簡單說明

創建GET請求

復制代碼
1 //    1.設置請求路徑
2     NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",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:@"http://192.168.1.53:8080/MJServer/login"];//不需要傳遞參數
 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:@"http://192.168.1.53:8080/MJServer/login"];//不需要傳遞參數
 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之後整個變成了空值。

提示:URL裡面不能包含中文。

解決:進行轉碼

復制代碼
1 //    1.設置請求路徑
2     NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",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];
復制代碼

調試查看:

服務器:

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved