如何在http标头中设置用户代理 [英] How can I set the user-agent in the http header
问题描述
我正在尝试在C#中的覆盖函数GetWebRequest中的http标头中设置用户代理
I'm trying to set the user-agent in my http header in our override function GetWebRequest in C#
protected override System.Net.WebRequest GetWebRequest(Uri uri)
{
System.Net.HttpWebRequest request = base.GetWebRequest(uri) as System.Net.HttpWebRequest;
request.Headers.Add("User-Agent", (someone@yahoo.com"));
request.ProtocolVersion = System.Net.HttpVersion.Version10;
request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.NoCacheNoStore);
request.KeepAlive = false;
return request;
}
我的请求返回错误,并被告知他们没有看到用户代理.我尝试了其他设置标题用户代理的方法,但到目前为止没有任何效果.我尝试过的其他方法是
My request is being returned with an error and I was told they are not seeing the user-agent. I've tried other ways of setting the header user-agent but nothing is working so far. Some other ways I've tried are
request.Headers["User-Agent"] = "someone@yahoo.com");
request.UserAgent = "someone@yahoo.com";
request.Headers.Set("User-Agent", "someone@yahoo.com");
我要发送请求的网站告诉我,如果出现问题,它需要一种方法来识别我们,并且请确保您的请求包括"user-agent" http标头."他们给我发送了一个示例,但它使用的是CURL
The site I am trying to send my request is telling me it needs a way to identify us in case of issues and "please make sure your request includes the "user-agent" http header." They've sent me an example but it is using CURL
curl_setopt($ch, CURLOPT_USERAGENT,'jeremy.fields@gmail.com)
推荐答案
用户代理代表您的浏览器,如Firefox或Chrome
User-agent represent your browser like Firefox or Chrome
通过将其强制转换为HttpWebRequest来使用HttpWebRequest的UserAgent属性
Use the UserAgent property on HttpWebRequest by casting it to a HttpWebRequest
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = "my user agent";
或
request = new HttpClient();
request.DefaultRequestHeaders.TryAddWithoutValidation("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0");
这篇关于如何在http标头中设置用户代理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!