using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;
namespace WindowsFormsApplication2
{
public class UserAgentHelper
{
private static string defaultUserAgent = null;
[DllImport("urlmon.dll", CharSet = CharSet.Ansi)]
private static extern int UrlMkSetSessionOption(int dwOption, string pBuffer, int dwBufferLength, int dwReserved);
const int URLMON_OPTION_USERAGENT = 0x10000001;
/// <summary>
/// 在默认的UserAgent后面加一部分
/// </summary>
public static void AppendUserAgent(string appendUserAgent)
{
if (string.IsNullOrEmpty(defaultUserAgent))
defaultUserAgent = GetDefaultUserAgent();
string ua = defaultUserAgent ";" appendUserAgent;
ChangeUserAgent(ua);
}
/// <summary>
/// 修改UserAgent
/// </summary>
public static void ChangeUserAgent(string userAgent)
{
UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, userAgent, userAgent.Length, );
}
/// <summary>
/// 一个很BT的获取IE默认UserAgent的方法
/// </summary>
private static string GetDefaultUserAgent()
{
WebBrowser wb = new WebBrowser();
wb.Navigate("about:blank");
while (wb.IsBusy) Application.DoEvents();
object window = wb.Document.Window.DomWindow;
Type wt = window.GetType();
object navigator = wt.InvokeMember("navigator", BindingFlags.GetProperty,
null, window, new object[] { });
Type nt = navigator.GetType();
object userAgent = nt.InvokeMember("userAgent", BindingFlags.GetProperty,
null, navigator, new object[] { });
return userAgent.ToString();
}
}
}

Winform中修改WebBrowser控件User-Agent的方法(已经测试成功)

最新文章

  1. web.config设置和取值
  2. js⑦
  3. gridview填充剩下的空间
  4. eclipse新建maven项目(1)
  5. Servlet和Tomcat部署
  6. Android中EditText,Button等控件的设置
  7. NYOJ 709(ZZULIOJ1481) 异 形 卵
  8. linux_cmd_list_0
  9. C控制语句:分支和跳转
  10. 02_Nginx基本配置与参数说明 + 辅助命令
  11. Mac自动化环境
  12. HDU 3966 Aragorn&#39;s Story(模板题)【树链剖分】+【线段树】
  13. golang中数组与切片的区别
  14. 用requests爬取一个招聘网站
  15. jstl的forEach详解(转)
  16. 一次VB汇编中看-溢出计算
  17. windows下用qemu搭建android
  18. bootstrap fileinput api翻译笔记
  19. 多实例mysql的安装和管理【验证通过】
  20. 高可用Kubernetes集群-1. 集群环境

热门文章

  1. 快速搭建Web服务器软件PHP+Apache+MySQL
  2. Buying Feed, 2010 Nov (单调队列优化DP)
  3. http://jinnianshilongnian.iteye.com/blog/1996071
  4. SPRING IN ACTION 第4版笔记-第一章-005-Bean的生命周期
  5. Python Monkey patch猴子补丁
  6. Yii处理流程
  7. 人一生必看的100部电影(全球最佳电影排名榜TOP250)
  8. c#中使用SESSION需要注意的几个问题
  9. GeoServer地图开发解决方案
  10. (转载)LINUX UNBUNTU10.04 下 搭建OC编译环境