如何发送不包含头字段的请求?我正在从头开始构建自己的服务器实现,它不关心头字段。请求最多只包含一个POST正文。如果我缺少逻辑,请告诉我。
请不要提ASIHHTPRequest。谢谢。
请不要提ASIHHTPRequest。谢谢。
我想在NSMutableURLRequest中删除特定的头部信息,后来发现如果使用setValue:forHTTPHeaderField:方法并将值设为nil,实际上可以将其移除。
这个方法没有被苹果官方文档记录,但这样做似乎很合理。
对于我来说,代码
[request addValue:@"" forHTTPHeaderField:@"User-Agent"];
仅添加了一个空字符串而不是清理User-Agent。相反,使用setValue修复它:
[request setValue:@"" forHTTPHeaderField:@"User-Agent"];
[request addValue:nil forHTTPHeaderField:@"User-Agent"];
实际上并没有移除这个标题字段,而是将其设置为默认值!
如果您确实想要移除内容,只需将值设置为空字符串即可:
[request addValue:@"" forHTTPHeaderField:@"User-Agent"];
nil
可以移除标题。 - duncanc4如果您控制服务器实现,为什么不直接忽略它们呢?
[request setAllHTTPHeaderFields:[NSDictionary dictionary]]
是否有效?
如果 #2 无效,请尝试创建自己的子类,该子类始终从 allHTTPHeaderFields
方法返回空字典,并从 valueForHTTPHeaderField:
方法返回 nil
。但是,NSURLConnection
可能会复制您的请求,因此您可能还需要覆盖 copyWithZone:
方法。