C#如何更改request header的date?

发布于 2022-09-04 05:15:40 字数 393 浏览 16 评论 0

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address.Text);
request.Headers.Set(HttpRequestHeader.Date.ToString(), " Sat, 26 Nov 2099 08:03:22 GMT");
request.Headers.Set(“Date”, " Sat, 26 Nov 2099 08:03:22 GMT");

都不行啊

错误:此标头必须使用适当的属性进行修改。 参数名: name

request.Date,,,visual studio 2015 表示没有这个属性!(框架设置为.NET2.0)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

固执像三岁 2022-09-11 05:15:40

2.0用的,只能说,反射大法好

public static void CallPrivateMethod(object instance, string name, params object[] param)
{
    BindingFlags flag = BindingFlags.Instance | BindingFlags.NonPublic;
    Type type = instance.GetType();
    MethodInfo method = type.GetMethod(name, flag);
    method.Invoke(instance, param);
}

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address.Text);
CallPrivateMethod(request, "SetSpecialHeaders", "Date", DateTime.Now.ToString("R"));

===============

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address.Text);
request.Date = DateTime.Now;  // 换成你需要的DateTime对象

我是2017RC 另外,这个是跟着.NET Framework 版本走的,至少4.0及以后是有这个属性的

VS 2017 RC

MSDN上的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文