必须使用适当的属性或方法修改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开发框架网发布内容,转载请附上原文出处连接
YES开发框架
上一篇:C#利用CefSharp的ChromiumWebBrowser发起Post请求
下一篇:C# List排序
评论列表

发表评论

评论内容
昵称:
关联文章

必须使用适当属性方法修改referer
依赖属性使用
Http请求中Referer设置,CEFSharp带Referer请求
附加属性使用
微信支付:Http缺少AcceptUser-Agent
WPF 双向绑定到非公开 set 方法属性在 NET 45 和 NET Core 行为不同
迁移 dotnet 6 提示必须将目标平台设置为 Windows 平台
解决.Net Core3.0 修改cshtml代码之后必须重新生成才可以看到效果
devexpress gridview修改单元格值后按回车没有立即刷新Summary,必须移动焦点行才行
.net core设置返回json属性名(驼峰保留大小写)配置方式
EF并发处理,防止并发修改数据
AgGrid使用CellRendererFramework后,修改数据调用applyTransaction数据没刷新
fastreport显示带[] 方括号文本表达式
.NET Core 项目调试时候不能修改代码
CSharp编程小技巧-使用枚举 Enum.HasFlag 方法
CSS cursor 属性
css样式首行缩进2个长度宽度 text-indent 属性
修改用户密码
C# 设置验证 PDF中文本域格式
文件目录损坏且无法读取

联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码