必须使用适当的属性或方法修改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开发框架