2011-11-05 8 views
5

私はC#ASP.NET 4を使用しています。私が知る限り、HttpWebRequestオブジェクトはDateヘッダーにRFC2616で定義された形式を使用していません。 DateTimeクラスに、文字列表現をどのようにフォーマットするかを伝える方法はありますか、またはDateヘッダーを文字列に設定する方法はありますか?私が見ているのは、「2011/11/5 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に当てはまるという印象の下にあります.DateTimeヘッダーを手動でDateTime.UtcNowに設定することもできます。私はAWSで作業しており、Authorizationの一部はDateヘッダーを使用しているためです。 – Vreenak

答えて

0

これを代わりに使用して、文字列表現を取得します。

Request.Headers.Get("Date")