iOS 網絡與多線程--4.同步Post方式的網絡請求

經過Post請求方式,同步獲取網絡數據,一旦發送同步請求,程序將中止用戶交互,直至服務器返回數據緩存

在ViewController.m文件內的viewDidLoad函數添加一下測試代碼服務器

 1 - (void)viewDidLoad {
 2     [super viewDidLoad];
 3     // Do any additional setup after loading the view, typically from a nib.
 4     
 5     // 1.創建一個網址對象,指定請求數據的網址
 6     NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
 7     // 2.再經過網址建立網絡請求對象.
 8     // 參數1:請求訪問路徑
 9     // 參數2:緩存協議
10     // 參數3:網絡請求超時時間
11     NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
12     // 3.設置網絡通信方式爲Post,默認爲Get
13     [request setHTTPMethod:@"POST"];
14     // 4.設置網絡請求的參數
15     NSString *str = @"type=focus-c";
16     // 5.將請求參數,轉換爲二進制數據
17     NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
18     [request setHTTPBody:data];
19     // 6.使用網絡鏈接對象實現網絡通信,網絡鏈接對象建立成功後,就建立了一個網絡鏈接。
20     NSData *received = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
21     // 7.將返回的數據轉換成字符串並輸出
22     NSString *str1 = [[NSString alloc] initWithData:received encoding:NSUTF8StringEncoding];
23     NSLog(@">>>>>>>%@",str1);
24 }

執行以後就能夠根據指定網址獲取數據了。網絡

相關文章
相關標籤/搜索