国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS9蘋果將原http協議改成了https協議的方法

2019-10-21 18:56:26
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了iOS9蘋果將原http協議改成了https協議的方法的相關資料,需要的朋友可以參考下
 

解決方法:

在info.plist 加入key

<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>

下面給大家介紹ios中http 和https 協議的訪問

最近做個項目,開始采用的是HTTP協議實現客戶端和服務器端的交互,后來需要改成HTTPS協議。在修改的過程中發現了一些問題,解決方案如下:

HTTP:

NSString *urlString =[NSString stringWithFormat:@"https://127.0.0.1/default.aspx?USER=%@",@"111"];NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];[request setURL:[NSURL URLWithString:urlString]];[request setHTTPMethod:@"GET"];NSHTTPURLResponse* urlResponse = nil;NSError *error = [[NSError alloc] init];NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];NSMutableString *result = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];NSLog(@"The result string is :%@",result); 

HTTPS

事件觸發

{ NSString *urlString =[NSString stringWithFormat:@"https://127.0.0.1/default.aspx?USER=%@",@"111"];NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:urlString] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5];//設置請求方式為get[request setHTTPMethod:@"GET"];//添加用戶會話id[request addValue:@"text/html" forHTTPHeaderField:@"Content-Type"];//連接發送請求finished = false;NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];//堵塞線程,等待結束while(!finished) {[[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];}} - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)response {}- (void)connectionDidFinishLoading:(NSURLConnection *)connection {//[_waitingDialog dismissWithClickedButtonIndex:0 animated:NO];[connection release];}-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ }- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection *)connection{return NO;}//下面兩段是重點,要服務器端單項HTTPS 驗證,iOS 客戶端忽略證書驗證。- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];} - (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { NSLog(@"didReceiveAuthenticationChallenge %@ %zd", [[challenge protectionSpace] authenticationMethod], (ssize_t) [challenge previousFailureCount]);if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]){[[challenge sender] useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];[[challenge sender] continueWithoutCredentialForAuthenticationChallenge: challenge];}} NSLog(@"get the whole response");//[receivedData setLength:0];}//處理數據 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ } 
 


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普定县| 神池县| 禹城市| 宕昌县| 石狮市| 恩平市| 珲春市| 甘肃省| 故城县| 武乡县| 泽州县| 金川县| 宕昌县| 孟村| 九龙城区| 汪清县| 鹤山市| 台北市| 永和县| 华宁县| 札达县| 宜黄县| 轮台县| 常宁市| 东源县| 周口市| 林芝县| 武冈市| 北安市| 江孜县| 广东省| 全南县| 绥滨县| 建瓯市| 伊宁县| 海晏县| 中方县| 定襄县| 巍山| 循化| 平顶山市|