2010-03-30 86 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"];