Sto usando C# ASP.NET 4. Per quanto posso dire, l'oggetto HttpWebRequest non utilizza il formato definito da RFC2616 per l'intestazione Data. C'è un modo per dire a una classe DateTime come voglio che la rappresentazione della stringa sia formattata, o c'è un modo per impostare l'intestazione Data su una stringa? Quello che sto vedendo è: "11/5/2011 1:55:15 PM". La stringa di formato DateTime corretta per le richieste HTTP è: @ "ddd, dd MMM yyyy HH: mm: ss G \ MT".HttpWebRequest Date Header Format
Ho provato questo, Ha gettato ed errore.
Request.Headers.Set("Date", DateTime.UtcNow.ToString("ddd, dd MMM yyyy HH:mm:ss G\\MT"));
Aggiornamento: Doh! Silly me. Stavo usando l'oggetto Date e ho anche provato a forzare la stringa che volevo. Per fortuna questo mi ha portato a provare qualcos'altro.
Request.Headers.Get("Date")
Lascerò questa domanda per coloro che potrebbero imbattersi in questo sciocco problema che ho fatto. Capacità di pensiero critico ... mi sento una droga. >: |
See https://connect.microsoft.com/VisualStudio/feedback/details/475082/http-date-request-header-is-not-sent-by-httpwebrequest –
Lo so, ma ho l'impressione che si applichi a .NET <4. Posso impostare manualmente l'intestazione Data su DateTime.UtcNow in .NET 4. Inoltre, nel caso qualcuno si stia chiedendo come sono arrivato a stressare così molto sull'intestazione Date, è perché sto lavorando con AWS e parte dell'autorizzazione comporta l'uso dell'intestazione Date. – Vreenak