2010-03-30 89 views
3

我越来越沮丧搞清楚如何将小写头字段添加到NSMutableURLRequest。如何将小写字段添加到NSURLRequest标头字段?

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:MyURLString]]; 
[urlRequest setValue:@"aValue" forHTTPHeaderField:@"field"]; 

在上面的例子中,由于标题字段名不区分大小写,所以“字段”被切换到“字段”。我认为这不应该发生,但它确实如此。我正在使用的API区分大小写,所以我的GET请求被忽略。有什么方法可以覆盖大小写切换吗?

回答

2

HTTP头字段是supposed to be case insensitive,所以你需要修复你的API。

+0

或者让第三方修理他们! – 2010-03-30 08:56:16

+0

@Frank或那。 – 2010-03-30 09:10:46

+0

好吧,我会通过电子邮件发送他们的支持,看看我能得到多少!我希望有一种方法可以让我改变我的要求,但我找不到任何可以避开案例切换的东西。谢谢! – Drewsmits 2010-03-30 15:36:15

2

我写了关于该主题的博客文章:Fixing -[NSMutableURLRequest setValue:forHTTPHeaderField:]我建议你阅读它。你将学会如何解决这个问题,以及为什么你不应该修复它。

+0

这是关于这个话题的一篇很好的文章,但是你会介意在这里给你的答案充实一下,并且总结一下你在那里的状态?我们希望尽可能在这里获得尽可能多的信息,以防止像这样的文章链接失效。随着网站的老化,我们开始看到更多。 – 2012-08-29 17:37:14

0

你可以试试addValue(_:forHTTPHeaderField :)?

NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL: 
[NSURL URLWithString:MyURLString]]; 
[urlRequest addValue:@"aValue" forHTTPHeaderField:@"field"];