如何将日期标头添加到 WebRequest

Posted

技术标签:

【中文标题】如何将日期标头添加到 WebRequest【英文标题】:How to add Date Header to an WebRequest 【发布时间】:2018-06-20 14:53:29 【问题描述】:

我正在尝试向 WebRequest 标头添加“日期”。但它返回错误,因为“必须使用适当的属性或方法修改“日期”标头。 参数名称:name"。我需要将 Date 标头传递给请求。

所以我尝试使用 HttpWebRequest,它有 Date 属性。

但我的问题是,我想在日期字段中传递 GMT 格式的值。我无法传递它,因为它是一个 DateTime 变量。

DateTime dt = DateTime.Now.ToUniversalTime();
string date = string.Format("0:r", dt);//Thu, 11 Jan 2018 09:38:26 GMT
request.Date = date;//throws an error here.

请给我一个关于如何将 GMT 格式值传递给 DateTime 变量或如何将 Date 标头添加到 WebRequest 的建议。

【问题讨论】:

request.Headers.Add(HttpRequestHeader.Date, DateTime.Now.ToString() ); 试过这个..仍然得到同样的错误 【参考方案1】:

这行不通吗?

request.Date = DateTime.UtcNow();

根据文档:

https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest.date?view=netframework-4.7.1#System_Net_HttpWebRequest_Date

System.Net 命名空间中的类总是写出日期 使用 GMT 以标准形式传输期间电线上的属性 (UTC) 格式。

【讨论】:

以上是关于如何将日期标头添加到 WebRequest的主要内容,如果未能解决你的问题,请参考以下文章

如何将 HTTP 标头添加到 SOAP 客户端

如何将标头添加到 PySpark DataFrame?

骆驼如何将授权标头添加到休息路线?

如何将 CORS 标头添加到 401/403 响应?

如何将 2 buildService(上传和标头)添加到 apollo federation?

如何将请求标头添加到 outboundGateway spring integration dsl