NSURLRequest设置HTTP标头

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

你需要使用一个NSMutableURLRequest

NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:url] autorelease]; [request setValue:VALUE forHTTPHeaderField:@"Field You Want To Set"]; 

或者添加一个标题:

 [request addValue:VALUE forHTTPHeaderField:@"Field You Want To Set"]; 

为斯威夫特

 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") 
  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]; 

我知道它晚了,但可能会帮助其他人,对于SWIFT 3.0

 let url = NSURL(string: "http://www.yourwebsite.com") let mutAbleRequest = NSMutableURLRequest(URL: url!) mutAbleRequest.setValue("YOUR_HEADER_VALUE", forHTTPHeaderField:"YOUR_HEADER_NAME") myWebView.loadRequest(mutAbleRequest) 

您可以在NSMutableURLRequest为HeaderField添加值:

 NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setValue:VALUE forHTTPHeaderField:@"cookie"]; 

这是为我工作。

示例代码

  - (void)reqUserBalance:(NSString*)reward_scheme_id id:(NSString*)user_id success:(void (^)(id responseObject))success failure:(void (^)(id responseObject))failure{ NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@reward/%@/user/%@/balance",URL_SERVER,reward_scheme_id,user_id]]; NSLog(@"%@",url); NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; [request setValue:@"true" forHTTPHeaderField:@"Bypass"]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { options:kNilOptions error:NULL]; if (data.length > 0 && connectionError == nil) { NSDictionary * userPoints = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL]; NSString * points = [[userPoints objectForKey:@"points"] stringValue]; NSLog(@"%@",points); [SecuritySetting sharedInstance].usearAvailablePoints = points; } }]; }