NSURLRequest设置HTTP标头

Rap*_*ael 85 iphone cocoa cocoa-touch objective-c ios

我需要为请求设置HTTP标头.在NSURLRequest类的文档中,我没有找到任何有关HTTP头的信息.如何设置HTTP标头以包含自定义数据?

Lar*_*ipp 180

您需要使用NSMutableURLRequest

NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url]
                                autorelease];

[request setValue:VALUE forHTTPHeaderField:@"Field You Want To Set"];
Run Code Online (Sandbox Code Playgroud)

或者添加标题:

[request addValue:VALUE forHTTPHeaderField:@"Field You Want To Set"];
Run Code Online (Sandbox Code Playgroud)

  • 有没有可以添加标题字典的API? (2认同)

Bes*_*rov 11

对斯威夫特来说

let url: NSURL = NSURL(string: APIBaseURL + "&login=1951&pass=1234")!
var params = ["login":"1951", "pass":"1234"]
request = NSMutableURLRequest(URL:url)
request.HTTPMethod = "POST"
var err: NSError?
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &err)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
Run Code Online (Sandbox Code Playgroud)


Ram*_*m S 6

 NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60];

[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"your value" forHTTPHeaderField:@"for key"];//change this according to your need.
[request setHTTPBody:postData];
Run Code Online (Sandbox Code Playgroud)

  • 您可能应该为已发布的代码添加一些解释. (2认同)