2011-11-05 90 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")