我有个对话框,对话框放了个Web浏览器控件,现在有个Socks5的代理(比如XXX,XXX,XXX,XXX:3128),我希望将此浏览器设置为通过这个SOCKS5代理访问,请问该如何设置呢?

解决方案 »

  1.   

    我想到了一些比较复杂的解决方案,如果你找到比较简单的方法,请共享
    方法1:试试hook 你的进程的winsock api,让它通过sock5代理连出去
    http://www.internals.com/articles/apispy/apispy.htm
    API Spying Techniques for Windows 9x, NT and 2000
    http://www.microsoft.com/msj/0997/hood0997.aspx
    WininetSpy
    http://www.codeguru.com/Cpp/W-P/system/misc/article.php/c5667
    API Hooking Revealed
    方法2:hook http protocol handler,IE不允许通过注册表设置你自己的http protocol handler, 见(http://support.microsoft.com/kb/303740/en),但可以通过hook COM interface来达到自定义http protocol handler的目的
    参考下面的方法
    http://www.codeproject.com/com/cominterfacehookingpart.asp
    COM Interface Hooking and Its Application - Part I
    方法3:hook 你的进程中 RegQueryValue/RegQueryValueEx函数,当他们都注册表获取全局代理设置时返回程序自定义的代理,但不知道webbrowser control是否会读全局代理设置。
      

  2.   

    谢谢,可是好复杂难懂啊,有没有简单些的方法?
    PS:hook我还不会用:(
      

  3.   

    自己装一个http代理服务器,这个代理服务器使用sock5代理出去
    你的Webhttp代理指向本机
    当然你也可以在程序中将这个代理服务器的功能集成进来就OK了
      

  4.   

    我想到了一些比较复杂的解决方案,如果你找到比较简单的方法,请共享
    方法1:试试hook 你的进程的winsock api,让它通过sock5代理连出去
    http://www.internals.com/articles/apispy/apispy.htm
    API Spying Techniques for Windows 9x, NT and 2000
    http://www.microsoft.com/msj/0997/hood0997.aspx
    WininetSpy
    http://www.codeguru.com/Cpp/W-P/system/misc/article.php/c5667
    API Hooking Revealed
    方法2:hook http protocol handler,IE不允许通过注册表设置你自己的http protocol handler, 见(http://support.microsoft.com/kb/303740/en),但可以通过hook COM interface来达到自定义http protocol handler的目的
    参考下面的方法
    http://www.codeproject.com/com/cominterfacehookingpart.asp
    COM Interface Hooking and Its Application - Part I
    方法3:hook 你的进程中 RegQueryValue/RegQueryValueEx函数,当他们都注册表获取全局代理设置时返回程序自定义的代理,但不知道webbrowser control是否会读全局代理设置。