VB.NET2010 下HTTP代理浏览网页的实现

         我在学习代理的时候发现了很多种人写的代理 当然有通讯用的有网页用的单位和办公室一般都使用HTTP代理因此我在总结其他人的代理的时候发现很多人都是C语言要不就是2005老版本的VB.NET语言写的要不就是把别人的文章整个拷贝过来也不进行实际的检查,很多别人写的代码在调试上都有一些小错误,学习起来很头疼,我吧代码简单整理了下用的是VB.NET2010语言的格式 希望对看后的人有一些帮助,少走一些弯路吧。笔记弯路走多了会大小编程爱好者的积极性。

         以下是模块代码:

Imports System.Runtime.InteropServices
Imports System.Net
Imports System.Net.Sockets
Imports System.Net.WebClient
Imports WindowsApplication1.SockProxy

Module 代理设置函数
    Public Const INTERNET_OPTION_TYPE_PROXY = 38
    Public Const INTERNET_OPEN_TYPE_PROXY = 3
    Public Const INTERNET_OPTION_SETTINGS_CHANGED = 39
    '调用API函数
    <DllImport("wininet.dll", SetLastError:=True)> _
    Public Function InternetSetOption(ByVal hInternet As IntPtr, ByVal dwOption As Integer, ByVal lpBuffer As IntPtr, ByVal lpdwBufferLength As Integer) As Boolean
    '窗口调用请把上面代码替换为下面的这行代码,或直接将Public  与 Function 中间加一个Shared 就可以在窗体重使用了 在模块中就用上面的代码'很多网上给的API函数都是VB6或VB2005用的 在2010就不能正常调用了
	'Public Shared Function InternetSetOption(ByVal hInternet As IntPtr, ByVal dwOption As Integer, ByVal lpBuffer As IntPtr, ByVal lpdwBufferLength As Integer) As Boolean
    End Function
    Structure INTERNET_PROXY_INFO
        Public dwAccessType As Integer
        Public proxy As IntPtr
        Public proxyBypass As IntPtr
    End Structure
    Public Sub SetProxy(ByVal StrProxy As String)
        Dim _IP As INTERNET_PROXY_INFO
        _IP.dwAccessType = INTERNET_OPEN_TYPE_PROXY
        _IP.proxy = Marshal.StringToHGlobalAnsi(StrProxy)
        _IP.proxyBypass = Marshal.StringToHGlobalAnsi("local")
        Dim Inpt As IntPtr = Marshal.AllocCoTaskMem(Marshal.SizeOf(_IP))
        Marshal.StructureToPtr(_IP, Inpt, True)
        InternetSetOption(IntPtr.Zero, INTERNET_OPTION_TYPE_PROXY, Inpt, Marshal.SizeOf(_IP))
    End Sub
End Module


下面是调试代码:

SetProxy("10.2.2.3:8080")  ’HTTP代理
WebBrowser1.Navigate("http://www.163.com")   ' 正确代理WEB
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值