[英]POST request on iOS necessary headers
我正在從iOS應用程序發送POST方法。 我的代碼工作正常,但我只是將其粘貼粘貼。
NSString *post = @"key1=val1&key2=val2";
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:[NSURL URLWithString:@"http://www.nowhere.com/sendFormHere.php"]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
我的問題是:是否必須在HTTP標頭字段中設置任何內容?
如果是,則需要哪些標題字段?
謝謝!
哪些標頭字段是必需的,將由您向其發送請求的服務器確定。 NSURLSession
和朋友將很樂意提交您想要的任何標題,或者根本不提交任何標題。
從NSMutableURLRequest類參考:
如果可以自動確定上載正文數據的長度(例如,如果為正文內容提供一個NSData對象),則將為您設置Content-Length的值。
一個簡單的POST請求可能看起來像這樣:
NSURL *url = [NSURL URLWithString:@"http://www.nowhere.com/sendFormHere.php"];
NSData *postData = [@"key1=val1&key2=val2" dataUsingEncoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
[request setHTTPMethod:@"POST"]; //The default HTTP method is “GET”.
[request setHTTPBody:postData]; //query string is sent in the HTTPBody of a POST request
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.