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下这是什么问题呢? 该如何解决?
...全文
376 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
youth2004 2017-02-21
  • 打赏
  • 举报
回复
你的这段代码解决了在调试时、运行时、win10、win8、win7等系统, 这段代码怎么用到C#代码中啊 如何使用
老秋先生 2016-09-12
  • 打赏
  • 举报
回复
自己顶!!
老秋先生 2016-09-11
  • 打赏
  • 举报
回复
在线等~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧