必须使用适当的属性或方法修改referer标头
C# 发起Post请求时,如果修改了header的referer参数,运行就会报错:
string str = HttpTools.PostWithCookie(urlEx, postData, "application/x-www-form-urlencoded",request=> {
request.Headers.Add("cookie", cookie);
request.Headers.Add("referer", "https://widget.1688.com/front/ajax/bridge.html?target=brg-0-6561");
});错误提示:必须使用适当的属性火方法修改"referer"标头

报错原因:c#不允许您使用set和add方法来设置此类标头
解决方案:直接使用 request.Referer
string str = HttpTools.PostWithCookie(urlEx, postData, "application/x-www-form-urlencoded", request =>
{
request.Headers.Add("cookie", cookie);
//request.Headers.Add("referer", "https://widget.1688.com/front/ajax/bridge.html?target=brg-0-6561");
request.Referer = "https://widget.1688.com/front/ajax/bridge.html?target=brg-0-6561";
});另外其他不能直接在header中修改的属性列表:
header的名称和对应的属性设置方法如下
| Header | 设置方 |
| Accept | 由 Accept 属性设置。 |
| Connection | 由 Connection 属性和 KeepAlive 属性设置。 |
| Content-Length | 由 ContentLength 属性设置。 |
| Content-Type | 由 ContentType 属性设置。 |
| Expect | 由 Expect 属性设置 |
| Date | 由 Date 属性设置。 |
| 宿主 | 由 Host 属性设置 |
| If-Modified-Since | 由 IfModifiedSince 属性设置。 |
| 范围 | 由 AddRange 方法设置。 |
| Referer | 由 Referer 属性设置。 |
| Transfer-Encoding | 由 TransferEncoding 属性设置(SendChunked 属性必须为 true)。 |
| User-Agent | 由 UserAgent 属性设置。 |
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post YES开发框架


