c# webbrowser之伪装浏览器问题
老秋先生 2016-09-11 11:25:03 最近在使用c# webbrowser 进入一个网站时,由于要求浏览器版本问题,IE都会是浏览器版本低的提示,于是用了几种办法来修改webbrowser的UseAgent,最后用了如下方法,解决了在调试时、运行时、win10、win8、win7等系统,但唯独XP就出了问题
改变USEAGENT代码:
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
private const int UrlmonOptionUseragent = 0x10000001;
public static void ChangeUserAgent(string agent)
{
UrlMkSetSessionOption(UrlmonOptionUseragent, agent, agent.Length, 0);
}
通过fiddler抓取到的请求数据,在非XP系统下抓取到的是:
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13;
没有错,这是我设置的。
但在XP下则为:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .N
好狗血。
求问在XP下这是什么问题呢? 该如何解决?