2011-11-05 2 views
5

C# ASP.NET 4를 사용하고 있습니다. 내가 알 수있는 한 HttpWebRequest 객체는 Date 헤더에 RFC2616으로 정의 된 형식을 사용하고 있지 않습니다. DateTime 클래스에 문자열 표현을 형식화 할 방법을 알려주는 방법이 있습니까? 아니면 Date 헤더를 문자열로 설정하는 방법이 있습니까? 내가 보는 것은 : "2011 년 5 월 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.UtcNow .NET에 수동으로 Date 헤더를 설정할 수 있습니다. 또한, 누군가가 어떻게 스트레스를 받았을 지 궁금해하는 경우 Date 헤더에 대해서는 AWS로 작업하고 Authorization의 일부는 Date 헤더를 사용하기 때문에 발생합니다. – Vreenak

답변

0

대신 문자열 표현을 가져 오기 위해 사용하십시오. 반사

을 사용하는 것을 제외하고 날짜 헤더 형식을 설정하는 직접적인 방법이 없습니다

Request.Headers.Get("Date")