0
点赞
收藏
分享

微信扫一扫

IE浏览器设置UserAgent


参考:

​​https://www.jianshu.com/p/91215e310e8e​​

在运行中输入“gpedit.msc”打开本地组策略编辑器

在计算机配置->管理模板->Windows组件->Internet Explorer选项下,双击右侧设置中“自定义用户代理字符串” 进行设置

重启IE生效

----------------------------------------------------------------------------

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform

右侧的列表就是 IE10/IE11的User Agent附加字符串了,把右侧这些项都删掉吧。(可以用鼠标框选多个,然后右键删除)

重新打开IE,F12调出控制台,输入 navigator.userAgent 回车看到类似这样的:

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; LCJB; rv:11.0) like Gecko

已经变得非常苗条了有没有?

-------------------------------------------

VC 中使用 WebBrowser 控件时自定义 User-Agent 的方法至少有以下两种。

第一种方法(有局限性):

    WebBrowser 控件的 Navigate 方法定义如下:

void Navigate(LPCTSTR URL, VARIANT * Flags, VARIANT * TargetFrameName, VARIANT * PostData, VARIANT * Headers);

    该方法用到的最后一个参数可以用来修改 User-Agent 的默认值,难点在于它并不是一个简单的字符串类型的变量,而是一个 VARIANT 类型的指针。要把 User-Agent 的值用 VARIANT 类型的变量来表达出来,需要做一些转换工作,可以参考以下示例代码片段:
    /* 设置 HTTP 头中的 User-Agent 字段 */
    char UserAgentVal[] = "User-Agent:MyCustomizedBrowser"; /* 假定要将 User-Agent 的值设为 MyCustomizedBrowser */
    char VisitUrl[] = "http://www.baidu.com"; /* 假定要用 WebBrowser 控件显示百度主页 */
    
    _bstr_t bstrVal(UserAgentVal);
    VARIANT varString;
    varString.vt = VT_BSTR;
    varString.bstrVal = bstrVal;
    MsWebBrowser.Navigate(VisitUrl, NULL, NULL, NULL, &varString); /* MsWebBrowser是 WebBrowser 控件对应变量的名字,因程序而异 */
---------------------------------------------

第二种方法:

    要想在使用 WebBrowser 控件连续访问多个页面时,一直使用设定的 User-Agent 值,需要用到 urlmon.dll 中的 UrlMkSetSessionOption( ) 函数,MSDN 网站上介绍这个函数的网页链接为:

​​https://msdn.microsoft.com/en-us/library/ms775125(VS.85).aspx​​

这个函数的定义为:

STDAPI UrlMkSetSessionOption(DWORD dwOption, __in_bcount_opt(dwBufferLength) LPVOID pBuffer, DWORD dwBufferLength, __reserved DWORD dwReserved);

使用这个函数时,需要使用指令 #include "UrlMon.h" 来包含头文件。可以参考以下示例代码片段

char UserAgentVal[] = "MyCustomizedBrowser";
char VisitUrl[] = "http://www.baidu.com";
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, UserAgentVal, (strlen(UserAgentVal) + 1), 0);
MsWebBrowser.Navigate(VisitUrl, NULL, NULL, NULL, NULL);


 

 

 

 

 

 

 

 

举报

相关推荐

0 条评论