如题想让webbrowser控件通过SOCKS5代理(有认证)来浏览网页?找了1天没弄明白有这方面经验或者思路的帮帮忙来顶贴的都有分分只能发100分的帖子,提供有价值帮助的高分相送,至少200分哦

解决方案 »

  1.   

    webbrowser可以去改IE的代理去完成另外参考这个:http://support.microsoft.com/kb/226473/en-us
      

  2.   

    感谢莫伊英文不是太好,大概看了一下强调一点不是通过HTTP代理服务器,通过HTTP代理服务器可以有一种办法就是修改注册表,设置IE浏览器的HTTP代理服务器,WEBBROWSER用的也就是IE的代理服务器了。
    我现在需要的是通过SOCKS5代理服务器访问网页。
      

  3.   

    貌似Internet设置里面有socks代理的设置吧。
      

  4.   

    貌似没有 楼上如果知道如何设置还烦请帮下忙有个套接字 但是带用户密码认证的如何填写 不带认证的SOCKS5代理也是不能用的
      

  5.   

    其他语言实现的也可以 如C#,VB.NET 最好是VB6确实能实现功能的代码片段即可得这2000分
      

  6.   

    如何设置webbrowser控件的代理服务器
      http://www.csdn.net/expert/TopicView.asp?id=268426   
        
      例子一个:(可配置   webbrowser   Proxy)   
      http://www.vbip.com/forum/files/webbrowser_proxy.zip     
        
      关于InternetSetOptionA的问题   
      http://www.csdn.net/expert/TopicView.asp?id=156382   
        
      API:   
      InternetSetOption   
        
      HOWTO:   Programmatically   Query   and   Set   Proxy   Settings   Under   Internet   Explorer   
      http://support.microsoft.com/support/kb/articles/Q226/4/73.ASP   
        
      HOWTO:   Determine   If   Internet   Explorer   Is   Offline   from   an   ActiveX   Document   
      http://support.microsoft.com/support/kb/articles/Q200/0/27.ASP     
        
      当然实际也是修改注册表!   
      

  7.   

    楼上的是从网上PASTE的''''
    如何设置webbrowser控件的代理服务器 
    http://www.csdn.net/expert/TopicView.asp?id=268426  
    '''' 无法打开 HTTP 错误 403.1 - 禁止访问:执行访问被拒绝。''''
    关于InternetSetOptionA的问题  
    http://www.csdn.net/expert/TopicView.asp?id=156382  
    '''' 无法打开 HTTP 错误 403.1 - 禁止访问:执行访问被拒绝。''''
      例子一个:(可配置  webbrowser  Proxy)  
      http://www.vbip.com/forum/files/webbrowser_proxy.zip    
    '''’无法显示网页''''
    HOWTO:  Programmatically  Query  and  Set  Proxy  Settings  Under  Internet  Explorer  
    http://support.microsoft.com/support/kb/articles/Q226/4/73.ASP 
    ''''编程实现查询和设置IE浏览器的代理设置,与莫伊给的链接是同一篇文章,没有提到SOCKS5代理方式''''
    HOWTO:  Determine  If  Internet  Explorer  Is  Offline  from  an  ActiveX  Document  
    http://support.microsoft.com/support/kb/articles/Q200/0/27.ASP    
    ''''这个貌似与我的问题没什么关系。
      

  8.   

    继续顶!用WINSOCK控件能实现否?WINSOCK实现SOCKS5代理貌似比较好弄那么WINSOCK通过代理连接网站下载网页后,怎么能让网页正确的显示在WEBBROWSER上呢????????
    郁闷.....没人来帮忙
      

  9.   

    如果你已经解决了使用winsock通过socks5下载的问题,那么问题就很简单了。你要做的无非是原样复制一个网页(及其相关文件)到本地,然后用webbrowser控件显示。
    所以剩下的工作就变成了解析HTML文件中调用的文件(图片、css、js),然后把这些文件逐一下载到本地。
      

  10.   

    接分!
    Private Const INTERNET_OPTION_PROXY = 38
    Private Const INTERNET_OPEN_TYPE_PROXY = 3
    Private Type INTERNET_PROXY_INFO
        dwAccessType    As Long
        lpszProxy       As String
        lpszProxyBypass As String
    End Type
    Private Declare Function internetsetoption Lib "wininet.dll" _
         Alias "InternetSetOptionA" _
         (ByVal hinternet As Long, _
         ByVal dwoption As Long, _
         ByRef lpbuffer As Any, _
         ByVal dwbufferlength As Long) As LongFunction SetProxy()
        Dim options As INTERNET_PROXY_INFO
        options.dwAccessType = INTERNET_OPEN_TYPE_PROXY
        options.lpszProxy = Proxy
        options.lpszProxyBypass = "SOCKS=127.0.0.1:9050"    
        internetsetoption 0, INTERNET_OPTION_PROXY, options, LenB(options)
    End Function
      

  11.   

    不好意思,打错了Private Const INTERNET_OPTION_PROXY = 38 
    Private Const INTERNET_OPEN_TYPE_PROXY = 3 
    Private Type INTERNET_PROXY_INFO 
        dwAccessType    As Long 
        lpszProxy      As String 
        lpszProxyBypass As String 
    End Type 
    Private Declare Function internetsetoption Lib "wininet.dll" _ 
        Alias "InternetSetOptionA" _ 
        (ByVal hinternet As Long, _ 
        ByVal dwoption As Long, _ 
        ByRef lpbuffer As Any, _ 
        ByVal dwbufferlength As Long) As Long Function SetProxy() 
        Dim options As INTERNET_PROXY_INFO 
        options.dwAccessType = INTERNET_OPEN_TYPE_PROXY 
        options.lpszProxy = "SOCKS=127.0.0.1:9050"
        options.lpszProxyBypass = ""    
        internetsetoption 0, INTERNET_OPTION_PROXY, options, LenB(options) 
    End Function