C# 自定义HttpWebRequest标头大小写名称?

C# 自定义HttpWebRequest标头大小写名称?,c#,vb.net,http-headers,httpwebrequest,C#,Vb.net,Http Headers,Httpwebrequest,是否可以覆盖Accept/Content-Type/User-Agent头的设置方式 我这样问是因为我有一个程序,它使用HttpWebRequest登录到一个网站上的帐户,检查我帐户的统计信息并报告程序中的所有数据。使用此功能的网站也会收到大量垃圾邮件&他们现在已经开始阻止任何未在标题中显式发送“accept:”的请求,而HttpWebRequest则发送“accept:”(大写a) 使用CharlesProxy检查、重复和更改代码,我可以确认问题仅限于“接受”标题中的大写/小写A 使用requ

是否可以覆盖Accept/Content-Type/User-Agent头的设置方式

我这样问是因为我有一个程序,它使用HttpWebRequest登录到一个网站上的帐户,检查我帐户的统计信息并报告程序中的所有数据。使用此功能的网站也会收到大量垃圾邮件&他们现在已经开始阻止任何未在标题中显式发送“accept:”的请求,而HttpWebRequest则发送“accept:”(大写a)

使用CharlesProxy检查、重复和更改代码,我可以确认问题仅限于“接受”标题中的大写/小写A

使用request.Accept=''始终将标头设置为“Accept”。
也不允许设置自定义头:request.headers.add(“accept”,“xx”)

这是一种奇怪的垃圾邮件保护,因为HTTP标准(rfc/)没有明确定义是否必须大写,但始终使用大写示例。我已经在chrome中检查了原始http请求输出,它也发送
Accept:text/html,application/xhtml+xml
(所有标题都大写),所以从技术上讲,您不应该能够使用chrome访问页面?您是否能够要求他们使用其他一些反“垃圾邮件”措施,例如用户定义的标题?(显然X-headers已经被弃用:)@Longoon12000-在Chrome中,我还将标题视为小写字母“accept:application/json,text/javascript,/;q=0.01'-使用CharlesProxy时。在监视来自HttpWebRequest的流量时,它还显示大写的“Accept”。除非是通过AJAX调用的强制标头,但我认为这仍然会保留浏览器的默认标头。