0

NSMutableURLRequest 显然改变了标题字段的大小写。

例如,设置:

[request addValue:myValue forHTTPHeaderField:@"FOOBAR"];

将标题字段更改为“Foobar”。

有人知道解决这个问题的方法吗?我正在使用需要传递区分大小写字段的服务。

此外,NSMutableURLRequest 不应该真正为我做出决定。

4

1 回答 1

8

NSMutableURLRequest遵循HTTP/1.1 的 RFC 2616 规范,其中说:

字段名称不区分大小写。

或者文档,上面写着:

为了与 HTTP RFC 保持一致,HTTP 标头字段名称不区分大小写。

因此我们可以得出结论,这NSURLRequest实际上只是将标头字段的大小写标准化。多么周到。=)

看来你运气不好。

编辑:“我正在使用需要传递区分大小写字段的服务。” 由于 HTTP/1.1 协议将标头字段名称定义为不区分大小写,因此该服务破坏了该协议。互联网上已经有很多例子,说明当公司和服务为了自己的利益而试图忽略协议时会发生什么。(例如:曾经尝试编写一个在 Firefox 和 IE6 中运行的网页?)如果可以的话,我会避免使用此服务,或者写信给他们,让他们知道他们在做什么以及为什么会出错。

于 2009-11-02T04:36:23.490 回答