7

如何发出不包含标头字段的请求?请求从头开始发送到我自己的服务器实现,它不关心标头字段。该请求最多只包含一个帖子正文。让我知道我是否遗漏了一些合乎逻辑的东西。

请不要告诉我有关 ASIHTTPRequest 的事情。谢谢你。

4

4 回答 4

10

当我想删除 NSMutableURLRequest 上的特定标头时,我刚刚发现调用 setValue:forHTTPHeaderField: 时使用 nil 值实际上会删除它。

Apple没有记录它,但它似乎很合乎逻辑。

于 2012-05-26T13:04:08.633 回答
3

我发现对于某些标头字段(“User-Agent”是其中之一),将标头值设置为 nil 使用

[request addValue:nil forHTTPHeaderField:@"User-Agent"];

实际上并没有删除标题字段,而是将其设置为默认值!

如果您想实际删除内容,将值设置为空字符串就足够了

[request addValue:@"" forHTTPHeaderField:@"User-Agent"];
于 2014-02-04T11:10:01.763 回答
3

对我来说代码

[request addValue:@"" forHTTPHeaderField:@"User-Agent"];

只添加了一个空字符串而不是清理 User-Agent。相反,使用 setValue 修复了它:

[request setValue:@"" forHTTPHeaderField:@"User-Agent"];
于 2014-10-24T09:04:27.697 回答
1
  1. 如果您控制服务器实现,为什么不直接忽略它们呢?

  2. [request setAllHTTPHeaderFields:[NSDictionary dictionary]]行得通吗?

  3. 如果 #2 不起作用,请尝试创建自己的子类,该子类始终从方法和方法返回空allHTTPHeaderFields字典。但可能会复制您的请求,因此您可能也必须覆盖。nilvalueForHTTPHeaderField:NSURLConnectioncopyWithZone:

于 2011-12-13T06:09:00.797 回答