C# WebBrowser 代理的使用

原文:C# WebBrowser 代理的使用

 

The WebBrowser control is just an embeddded IE Control, I believe any settings in IE, like the proxy settings, are honered just the same as they are in IE.

You can change the proxy with InternetSetOption method from the wininet.dll, here is a example to set the proxy:

 

Code

using System.Runtime.InteropServices;

 

Public struct Struct_INTERNET_PROXY_INFO 

public int dwAccessType; 
public IntPtr proxy; 
public IntPtr proxyBypass; 
}; 
[DllImport("wininet.dll", SetLastError = true)] 
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

private void RefreshIESettings(string strProxy) 

const int INTERNET_OPTION_PROXY = 38; 
const int INTERNET_OPEN_TYPE_PROXY = 3; 

Struct_INTERNET_PROXY_INFO struct_IPI; 

// Filling in structure 
struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY; 
struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy); 
struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local"); 

// Allocating memory 
IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI)); 

// Converting structure to IntPtr 
Marshal.StructureToPtr(struct_IPI, intptrStruct, true); 

bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI)); 

private void SomeFunc() 

RefreshIESettings("192.168.1.200:1010"); 

System.Object nullObject = 0; 
string strTemp = String.Empty; 
System.Object nullObjStr = strTemp;
axWebBrowser1.Navigate("http://willstay.tripod.com", ref nullObject, ref nullObjStr, ref nullObjStr, ref nullObjStr); 
}

时间: 2024-08-02 12:39:25

C# WebBrowser 代理的使用的相关文章

Webbrowser代理支持

原文:Webbrowser代理支持 1 通过设置注册表,再用InternetSetOption发送INTERNET_OPTION_SETTINGS_CHANGED与INTERNET_OPTION_REFRESH信息,可以将注册表中的数据重新取出,从而对当前进程中的webbrowser进行设置. 2 自定义一个INTERNET_PER_CONN_OPTION_LIST对象,然后定义一组INTERNET_PER_CONN_OPTION对象,将这一组对象的赋值给INTERNET_PER_CONN_OP

C# WinForm开发系列 - WebBrowser

原文:C# WinForm开发系列 - WebBrowser    介绍Vs 2005中带的WebBrowser控件使用以及一些疑难问题的解决方法, 如如何正确显示中文, 屏蔽右键菜单, 设置代理等; 收集的文章中有可能还带了一些Asp.Net开发使用微软的WebBrowser进行页面打印方面文章. 01. vs2005中的WebBrowser控件的简单应用 02. WebBrowser控件的简单应用2 03. WebBrowser控件应用:弹出新窗体和关闭窗口 04. WebBrowser控件

C# WebBrowser设置代理

WebBrowser控件是基于IE浏览器的,所以它的内核功能是依赖于IE. code: class IEProxy { //设置代理选项 private const int INTERNET_OPTION_PROXY = 38; //设置代理类型 private const int INTERNET_OPEN_TYPE_PROXY = 3; //设置代理类型,直接访问,不需要通过代理服务器 private const int INTERNET_OPEN_TYPE_DIRECT = 1; priv

请问WebBrowser如何实现代理功能

问题描述 如题,比如自己做个简易浏览器器要启用代理功能.WebBrowser控件貌似没有代理功能.如何实现?不是IE的全局代理,而是只有软件内部使用了代理,对IE和其他浏览器无效的那种代理.请问如何实现?另外,当找到代理过后,如何测试和判断其有效性?如127.0.0.1:80这个代理的是否可用,速度如何? 解决方案 解决方案二:没人回答?自己顶

如何单独的为webbrowser设置代理IP服务器?

问题描述 不影响其他的webbrowser以及IE 解决方案

如何对webbrowser和IE编程(九)

接收事件的途径 依靠开发工具你创建客户应用程序,你可以接收事件通过不同的途径. 显然, 在Vb中接收事件同在VC中接收事件相比是如此不同和容易.在 C++ 应用中,你可以用不同的技术,通过使用 ATL, MFC, 或者标准C++. Visual Basic 中接收事件 Visual Basic是创建大多数类型应用的最轻松的工具, 所以我告诉你VB是处理事件最溶的工具时也不要惊奇. ATL 和 Visual Basic 示例我们同样的工作,但是ATL花费了我4个小时, 而 Visual Basic

使用TaskManager爬取2万条代理IP实现自动投票功能

话说某天心血来潮想到一个问题,朋友圈里面经常有人发投票链接,让帮忙给XX投票,以前呢会很自觉打开链接帮忙投一票.可是这种事做多了就会考虑能不能使用工具来进行投票呢,身为一名程序猿决定研究解决这个问题.于是有了以下思考 1.是否能一个人投多票,如果不行又是什么限制了一人投多票? 答:投票网站限制了一个IP或者一个用户只能投一票,防止恶意刷票行为 2.如果是一个IP一票那是否代表着多个IP就能投多票了呢? 答:答案是肯定的 3.用什么方法能够在代码里面改变自己请求的IP? 答:HTTP请求的时候设置

webBrowser浏览器遭遇 L2TP

问题描述 webBrowser浏览器已经开发完成.测试时候发现在不使用代理的情况下,浏览任何网页均正常.但是客户的PC使用了L2TP代理上网,webBrowser浏览器就无法打开任何网站了.webBrowser返回提示为:此程序无法显示网页(使用L2TP的时候,其他所有浏览器,百度,遨游,360之类的,包括IE浏览网页均正常.桌面程序也正常)按照下面地址的方法处理代理,也不能通过.(对隧道协议理解不多,不知道这里IP与端口如何填写.)http://www.cnblogs.com/wangchua

WebBrowser控件的简单应用2

原文:WebBrowser控件的简单应用2 第一个简单应用里面讲述的是如何模拟调用当前网页的元素的事件或者赋值/取值.这次的应用讲述的是1:如何处理弹出新页面的事件(总是在我的浏览器里面现实新页面)2:如何处理window.close事件,让我的浏览器页关闭3:让html页面的js调用我的browse的函数4:如何让我的browse调用html的js函数. 使用场景:一个web程序,让用户使用自定义浏览器来浏览,该web程序会调用浏览者机器上一些接口.我的这个浏览器叫做AppBrowser.关于