有没有办法将HTTP头添加到NSURLRequest对象?我曾经在NSMutableURLRequest中添加它们,使用:

[request addValue:@"PC" forHTTPHeaderField:@"machineName"]

推荐答案

我认为你不能修改NSURLRequest的HTTP头.我想你是想修改一个没有初始化的NSURLRequest对象?

您可以创建mutableCopy个请求,然后使用以下方法设置标题字段:

 -(void)setValue:(NSString *)value forHTTPHeaderField:(NSString *)field.

之后,您可以将可变请求返回到NSURLRequest变量中.

EDIT:下面增加了一个例子

/* Create request variable containing our immutable request
 * This could also be a paramter of your method */
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.stackoverflow.com"]];

// Create a mutable copy of the immutable request and add more headers
NSMutableURLRequest *mutableRequest = [request mutableCopy];
[mutableRequest addValue:@"Hless" forHTTPHeaderField:@"X-user-nick"];

// Now set our request variable with an (immutable) copy of the altered request
request = [mutableRequest copy];

// Log the output to make sure our new headers are there    
NSLog(@"%@", request.allHTTPHeaderFields);

Objective-c相关问答推荐

如何以编程方式获取iphone的IP地址

如何限制 UITextField 中的特殊字符(点和下划线除外)?

self.ivar 和 ivar 之间的区别?

在 Objective-C 中定义协议的类别?

如何在 iOS Objective-C 头文件中将函数标记为已弃用?

在 iOS8 上,以横向模式显示我的应用程序会隐藏状态栏,但在 iOS 7 上,状态栏会同时显示在两个方向上

验证应用内购买的收据

iOS 应用程序下一个键不会转到下一个文本字段

静态和动态单元格的 UITableView 混合?

在 macOS 10.9+ 上删除 plist 文件不会重置应用程序

判断 NSInteger 是奇数还是偶数

如何在 UIImageView 中显示 base64 图像?

仅在 UIView 顶部的圆角

Objective-C中的继承和类别有什么区别

@dynamic 在 Objective-C 中做了什么?

writeToFile:atomically: atomically 是什么意思?

zoom UIView 及其所有子项

从带有参数的方法名称创建 Select 器

如何根据按钮按下重新加载/刷新 UIPickerView(带有新数据数组)?

如何调整 UIToolBar 左右内边距