我想在两个 WebApi 服务之间发布数据
目标服务中的Request.UrlReferrer始终为null
现在我想将目标服务 UrlReferrer 更改为源服务 Url
using System.Net;
namespace Test
{
public class CustomWebClient
{
private string SimplePost(string address, string request)
{
using (var client = new WebClient())
{
// How to change UrlReferer
return client.UploadString(address, request);
}
}
}
}
最佳答案
该 Web 客户端并不真正在调用它的客户端 (Web API) 上下文中运行,并且不会填充引用站点。
我现在无法对此进行测试,但基本上 UrlReferer
只不过是 HTTP header Referer
。因此,理论上您可以自己将该 header 添加到 WebClient
中...
client.Headers.Add("Referer","whatever_you_want_to_add");
您将手动添加它,这并不理想,但这是您能做的最好的事情。请注意,如果出现以下情况,则不会设置 Referer
header :
- 引用的资源是本地文件或 uri
- 请求不安全,引用的资源是安全的
关于asp.net - 如何更改 WebClient 中的 UrlReferrer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54997603/