小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

iOS開發(fā)網(wǎng)絡(luò)篇

 雪柳花明 2016-03-14

Get請(qǐng)求和post請(qǐng)求簡(jiǎn)單說明

創(chuàng)建GET請(qǐng)求

復(fù)制代碼
1 //    1.設(shè)置請(qǐng)求路徑
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.創(chuàng)建請(qǐng)求對(duì)象
6     NSURLRequest *request=[NSURLRequest requestWithURL:url];
7     
8 //    3.發(fā)送請(qǐng)求
復(fù)制代碼

服務(wù)器:

創(chuàng)建POST請(qǐng)求

復(fù)制代碼
 1     // 1.設(shè)置請(qǐng)求路徑
 2     NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要傳遞參數(shù)
 3     
 4 //    2.創(chuàng)建請(qǐng)求對(duì)象
 5     NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默認(rèn)為get請(qǐng)求
 6     request.timeoutInterval=5.0;//設(shè)置請(qǐng)求超時(shí)為5秒
 7     request.HTTPMethod=@"POST";//設(shè)置請(qǐng)求方法
 8     
 9     //設(shè)置請(qǐng)求體
10     NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
11     //把拼接后的字符串轉(zhuǎn)換為data,設(shè)置請(qǐng)求體
12     request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
13     
14 //    3.發(fā)送請(qǐng)求
復(fù)制代碼

服務(wù)器:

二、比較

建議:提交用戶的隱私數(shù)據(jù)一定要使用POST請(qǐng)求

相對(duì)POST請(qǐng)求而言,GET請(qǐng)求的所有參數(shù)都直接暴露在URL中,請(qǐng)求的URL一般會(huì)記錄在服務(wù)器的訪問日志中,而服務(wù)器的訪問日志是黑客攻擊的重點(diǎn)對(duì)象之一

用戶的隱私數(shù)據(jù)如登錄密碼,銀行賬號(hào)等。

 

三、使用

1.通過請(qǐng)求頭告訴服務(wù)器,客戶端的類型(可以通過修改,欺騙服務(wù)器)

復(fù)制代碼
 1     // 1.設(shè)置請(qǐng)求路徑
 2     NSURL *URL=[NSURL URLWithString:@"http://192.168.1.53:8080/MJServer/login"];//不需要傳遞參數(shù)
 3     
 4 //    2.創(chuàng)建請(qǐng)求對(duì)象
 5     NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:URL];//默認(rèn)為get請(qǐng)求
 6     request.timeoutInterval=5.0;//設(shè)置請(qǐng)求超時(shí)為5秒
 7     request.HTTPMethod=@"POST";//設(shè)置請(qǐng)求方法
 8     
 9     //設(shè)置請(qǐng)求體
10     NSString *param=[NSString stringWithFormat:@"username=%@&pwd=%@",self.username.text,self.pwd.text];
11     //把拼接后的字符串轉(zhuǎn)換為data,設(shè)置請(qǐng)求體
12     request.HTTPBody=[param dataUsingEncoding:NSUTF8StringEncoding];
13     
14     //客戶端類型,只能寫英文
15     [request setValue:@"ios+android" forHTTPHeaderField:@"User-Agent"];
復(fù)制代碼

服務(wù)器:

2.加強(qiáng)對(duì)中文的處理

問題:URL不允許寫中文

在GET請(qǐng)求中,相關(guān)代碼段打斷點(diǎn)以驗(yàn)證。

在字符串的拼接參數(shù)中,用戶名使用“文頂頂”.

轉(zhuǎn)換成URL之后整個(gè)變成了空值。

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

解決:進(jìn)行轉(zhuǎn)碼

復(fù)制代碼
1 //    1.設(shè)置請(qǐng)求路徑
2     NSString *urlStr=[NSString stringWithFormat:@"http://192.168.1.53:8080/MJServer/login?username=%@&pwd=%@",self.username.text,self.pwd.text];
3    //轉(zhuǎn)碼
4    urlStr= [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
5     NSURL *url=[NSURL URLWithString:urlStr];
6     
7 //    2.創(chuàng)建請(qǐng)求對(duì)象
8     NSURLRequest *request=[NSURLRequest requestWithURL:url];
復(fù)制代碼

調(diào)試查看:

服務(wù)器:

 說明:使用NSURLSession發(fā)送GET和POST請(qǐng)求請(qǐng)參考最新博文:http://www.cnblogs.com/wendingding/p/5168772.html

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多