关于webBrowser使用代理的问题 [已结贴,结贴人:liuyh83]

 
关于webBrowser使用代理的问题 [已结贴,结贴人:liuyh83]
进入用户个人空间
加为好友
发送私信
在线聊天
  • liuyh83
  • 等级:
  • 可用分等级:
  • 总技术分:
  • 总技术分排名:
  • 揭贴率:
发表于:2008-07-18 05:56:54 楼主
C# code
           
           
[DllImport( " wininet.dll " , SetLastError = true , CharSet = CharSet.Auto,EntryPoint = " InternetSetOption " ,CallingConvention = CallingConvention.StdCall)] public static extern bool InternetSetOption( int hInternet, int dwoption, object lpbuffer, int dwbufferlength); private const int INTERNET_OPTION_PROXY = 38 ; private const int INTERNET_OPTION_PROXY_PASSWORD = 44 ; private const int INTERNET_OPTION_PROXY_USERNAME = 43 ; private const int INTERNET_OPEN_TYPE_PROXY = 3 ; [StructLayout(LayoutKind.Sequential)] public struct INTERNET_PROXY_INFO { public int dwAccessType; public string lpszProxy; public string lpszProxyBypass; } public void SetSockect() { INTERNET_PROXY_INFO op = new INTERNET_PROXY_INFO() ; op.dwAccessType = INTERNET_OPEN_TYPE_PROXY; op.lpszProxy = " SOCKS=59.188.125.8:3370 " ; op.lpszProxyBypass = "" ; string Username = " ma " ; string Password = " zsi " ; try { InternetSetOption( 0 , INTERNET_OPTION_PROXY, op, Marshal.SizeOf(op)); // 每次执行到这里就出现-->值不在预期的范围内的错误 // InternetSetOption(webBrowser1.Handle.ToInt32(), INTERNET_OPTION_PROXY, null,0); InternetSetOption(webBrowser1.Handle.ToInt32(), INTERNET_OPTION_PROXY_USERNAME,Username, Username.Length); InternetSetOption(webBrowser1.Handle.ToInt32(), INTERNET_OPTION_PROXY_PASSWORD, Password, Password.Length); } catch (Exception e) { textBox1.Text = e.ToString(); } }


InternetSetOption(0, INTERNET_OPTION_PROXY, op, Marshal.SizeOf(op));//每次执行到这里就出现-->值不在预期的范围内的错误
20  修改 删除 举报 引用 回复
style="height: 0pt;" id="Topic_Zone" marginwidth="0" marginheight="0" src="http://topic.csdn.net/u/AD/Topic_Zone.aspx" frameborder="0" height="0" scrolling="no" width="100%">
进入用户个人空间
加为好友
发送私信
在线聊天
  • zhiguo2008
  • 等级:
  • 可用分等级:
  • 总技术分:
  • 总技术分排名:
发表于:2008-07-18 08:18:281楼 得分:0
友情帮顶
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • hongqi162
  • 等级:
  • 可用分等级:
  • 总技术分:
  • 总技术分排名:
  • 14

发表于:2008-07-18 08:20:562楼 得分:20
C# code
           
           
http: // www.codeprof.com/dev-archive/66/9-31-662586.shtm 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); }
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • woaixingqiliu
  • 等级:
  • 可用分等级:
  • 总技术分:
  • 总技术分排名:
发表于:2008-07-18 08:57:163楼 得分:0
该回复于2008-07-18 10:49:10被版主删除
修改 删除 举报 引用 回复
进入用户个人空间
加为好友
发送私信
在线聊天
  • liuyh83
  • 等级:
  • 可用分等级:
  • 总技术分:
  • 总技术分排名:
发表于:2008-07-18 15:02:424楼 得分:0
感谢二楼的回答.我还有个问题我的程序错在那里.为什么会出现值不在预期的范围内的错误呢
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值