我看到有一个VB写的程序,webbrowser可以单独设置代理,360,ie8和火狐的IP不变,(测试网页www.myip.cn或者百度 我的IP)360网络检查也没有看到代理,但是那个程序确实是通过http代理浏览网页,(代理IP如211.136.10.25:80)各位大虾知道在delphi程序中怎么实现吗,有代码更好,我自己网上找了一段VB代码,但测试不成功,100分,不够的话我再加分
VB代码如下
[程序设计]设置程序中使用的WebBrowser控件的代理,不影响系统IE浏览器
Option ExplicitPrivate 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 LongPrivate Type INTERNET_PROXY_INFO
dwAccessType As Long
lpszProxy As String
lpszProxyBypass As String
End TypePrivate Const INTERNET_OPTION_PROXY = 38
Private Const INTERNET_OPTION_SETTINGS_CHANGED = 39
Private Const INTERNET_OPEN_TYPE_DIRECT = 1
Private Const INTERNET_OPEN_TYPE_PROXY = 3
Private Sub SetProxy(aStrIP As String, aStrPort As String, aBolUseProxy As Boolean) Dim strProxy As String
Dim inf As INTERNET_PROXY_INFO
aStrIP = Trim(aStrIP)
aStrPort = Trim(aStrPort)
If (aStrIP + aStrPort = "") Or Not aBolUseProxy Then
strProxy = ""
Else
strProxy = "http=" + aStrIP + ":" + aStrPort
End If
If Trim(strProxy) <> "" Then
inf.dwAccessType = INTERNET_OPEN_TYPE_PROXY
inf.lpszProxy = strProxy
inf.lpszProxyBypass = ""
Call InternetSetOption(0, INTERNET_OPTION_PROXY, inf, Len(inf))
Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, "", 0)
Else
inf.dwAccessType = INTERNET_OPEN_TYPE_DIRECT
inf.lpszProxy = ""
inf.lpszProxyBypass = ""
Call InternetSetOption(0, INTERNET_OPTION_PROXY, inf, Len(inf))
Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, "", 0)
End If
End Sub
'===使用代理上网
Private Sub Command1_Click()
SetProxy txtIP.Text, txtPort.Text, True
WebBrowser1.Navigate "http://ipseeker.cn"
End Sub
'===不使用代理上网
Private Sub Command2_Click()
SetProxy txtIP.Text, txtPort.Text, False
WebBrowser1.Navigate "http://ipseeker.cn"
End SubPrivate Sub Form_Load()
WebBrowser1.Navigate "http://ipseeker.cn"
End Sub原文地址 http://www.agoil.cn/bbs/read-htm-tid-207697.html
VB代码如下
[程序设计]设置程序中使用的WebBrowser控件的代理,不影响系统IE浏览器
Option ExplicitPrivate 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 LongPrivate Type INTERNET_PROXY_INFO
dwAccessType As Long
lpszProxy As String
lpszProxyBypass As String
End TypePrivate Const INTERNET_OPTION_PROXY = 38
Private Const INTERNET_OPTION_SETTINGS_CHANGED = 39
Private Const INTERNET_OPEN_TYPE_DIRECT = 1
Private Const INTERNET_OPEN_TYPE_PROXY = 3
Private Sub SetProxy(aStrIP As String, aStrPort As String, aBolUseProxy As Boolean) Dim strProxy As String
Dim inf As INTERNET_PROXY_INFO
aStrIP = Trim(aStrIP)
aStrPort = Trim(aStrPort)
If (aStrIP + aStrPort = "") Or Not aBolUseProxy Then
strProxy = ""
Else
strProxy = "http=" + aStrIP + ":" + aStrPort
End If
If Trim(strProxy) <> "" Then
inf.dwAccessType = INTERNET_OPEN_TYPE_PROXY
inf.lpszProxy = strProxy
inf.lpszProxyBypass = ""
Call InternetSetOption(0, INTERNET_OPTION_PROXY, inf, Len(inf))
Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, "", 0)
Else
inf.dwAccessType = INTERNET_OPEN_TYPE_DIRECT
inf.lpszProxy = ""
inf.lpszProxyBypass = ""
Call InternetSetOption(0, INTERNET_OPTION_PROXY, inf, Len(inf))
Call InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, "", 0)
End If
End Sub
'===使用代理上网
Private Sub Command1_Click()
SetProxy txtIP.Text, txtPort.Text, True
WebBrowser1.Navigate "http://ipseeker.cn"
End Sub
'===不使用代理上网
Private Sub Command2_Click()
SetProxy txtIP.Text, txtPort.Text, False
WebBrowser1.Navigate "http://ipseeker.cn"
End SubPrivate Sub Form_Load()
WebBrowser1.Navigate "http://ipseeker.cn"
End Sub原文地址 http://www.agoil.cn/bbs/read-htm-tid-207697.html
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货