VC 中使用 WebBrowser 控件时自定义 User-Agent 的方法

    User-Agent 是客户端浏览器等应用程序在使用 HTTP 协议访问网站时,发送给网站服务器的一个标识,能够告知网站服务器浏览器类型、操作系统版本、浏览器渲染引擎等信息。

    有时候我们在 VC 中使用 WebBrowser 控件时,希望该控件在访问网站时能使用自定义的 User-Agent,这样网站服务器就能够收集访问请求,根据 User-Agent 值的不同判断出哪些访问来自我们自己开发的、用到 WebBrowser 控件的应用程序,哪些来自普通的常用浏览器软件。

    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://ww

你可能感兴趣的:(VC,VC)