網路請求預設是get 網路請求有很多種:GET查 POST改 PUT增 DELETE刪 HEAD 在平時開發中主要用的 是 get 和 post. get 獲得數據 (獲取用戶信息) get 請求是沒有長度限制的,真正的長度限制是瀏覽器做的,限制長度一般2k get 請求是有緩存的,get 有冪等的
網路請求預設是get
網路請求有很多種:GET查 POST改 PUT增 DELETE刪 HEAD
在平時開發中主要用的 是 get 和 post.
get 獲得數據 (獲取用戶信息)
get 請求是沒有長度限制的,真正的長度限制是瀏覽器做的,限制長度一般2k
get 請求是有緩存的,get 有冪等的演算法
get http://localhost/login.php?username=xubaoaichiyu&password=123456
請求參數暴露在url里
get請求參數格式:
?後是請求參數
參數名 = 參數值
& 連接兩個參數的
post 添加,修改數據 (上傳或修改用戶信息)
post 請求是沒有緩存的
post 也沒有長度限制,一般控制2M以內
post 請求參數不會暴漏在外面 ,不會暴漏敏感信息
請求是有:請求頭header,請求體boby(post參數是放在請求體里的)
get代碼如下:
// // ViewController.m // CX-get // // Created by ma c on 16/3/17. // Copyright © 2016年 xubaoaichiyu. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //使用get請求,獲取介面 NSString * String = @"http://localhost/login.php"; //拼接參數 NSString * urlString = [NSString stringWithFormat:@"%@?username=xubaoaichiyu&password=123456",String]; //如果有中文進行轉碼 urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL * url = [NSURL URLWithString:urlString]; NSURLRequest * request = [[NSURLRequest alloc]initWithURL:url cachePolicy:0 timeoutInterval:15]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) { NSString * string = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@",string); }]; } @end
post:
// // ViewController.m // CX-post // // Created by ma c on 16/3/17. // Copyright © 2016年 xubaoaichiyu. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //使用post請求 //獲取介面 NSString * string = @"http://localhost/login.php"; //中文轉碼 string = [string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSURL * url = [NSURL URLWithString:string]; //可變請求 NSMutableURLRequest * requst = [[NSMutableURLRequest alloc]initWithURL:url cachePolicy:0 timeoutInterval:15]; //設置傳輸方式 requst.HTTPMethod = @"POST"; NSString * bodyString = [NSString stringWithFormat:@"username=xubaoaichiyu&password=123456"]; //設置請求體 requst.HTTPBody = [bodyString dataUsingEncoding:NSUTF8StringEncoding]; [NSURLConnection sendAsynchronousRequest:requst queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) { NSString * string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@",string); }]; }