2011-11-05 25 views
5

我正在使用C#ASP.NET 4.據我所知,HttpWebRequest對象沒有使用Date標頭RFC2616定義的格式。有沒有辦法告訴DateTime類我想如何格式化字符串表示,或者有沒有辦法將Date標頭設置爲字符串?我所看到的是:「11/5/2011 1:55:15 PM」。 HTTP請求的正確DateTime格式字符串是:@「ddd,dd MMM yyyy HH:mm:ss G \ MT」。HttpWebRequest日期頭格式

我試過這個,它扔了,錯誤。

Request.Headers.Set("Date", DateTime.UtcNow.ToString("ddd, dd MMM yyyy HH:mm:ss G\\MT")); 

更新:Doh!傻我。我正在使用Date對象,甚至試圖強制我想要的字符串。謝天謝地,只是讓我去嘗試別的東西。

Request.Headers.Get("Date") 

我將離開這個問題了對於那些可能會遇到這個問題很傻我做了。批判性思維能力......我覺得自己像一個塗料。 >:|

+0

見https://connect.microsoft.com/VisualStudio/feedback/details/475082/http-date-request-header-is-not-sent-by-httpwebrequest –

+1

我知道這一點,但是我的印象是它適用於.NET <4。我可以手動將Date標頭設置爲.NET 4中的DateTime.UtcNow。另外,如果有人想知道我是如何強調的很多關於Date標題的信息,這是因爲我正在使用AWS,授權的一部分涉及使用Date標題。 – Vreenak

回答

0

用此代替獲得字符串表示。

Request.Headers.Get("Date")