如何在调用XElement.Load(url)
时为LINQ to XML指定用于其请求的HTTP User-Agent标头?
我用于调用Web API,这是必需的,我的客户端在User-Agent标头中正确描述了自己。
答案 0 :(得分:2)
您可以使用WebClient指定用户代理
using (var webClient = new WebClient())
{
webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
using (var stream = webClient.OpenRead("http://server.com"))
{
XElement.Load(stream);
}
}
或
using (var webClient = new WebClient())
{
webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
XElement.Parse(webClient.DownloadString(url));
}