如果你不嫌弃的话,可以修改注册表 还有一个方法就是使用InternetOpen等API函数和代理连接 下面是一个使用修改注册表下网业的方法CLASS Option Explicit Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long Private Declare Function RegQueryValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByRef lpData As Long, lpcbData As Long) As Long Private Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long Private Const REG_SZ = 1& Private Const REG_DWORD = 4& Private Const HKEY_CURRENT_USER = &H80000001 Dim oldProxyIp As String * 255 Dim oldProxyEn As Long Dim WebObject As InternetExplorer
Private Sub Class_Initialize() On Error GoTo Hand Dim hKey As Long Dim Ret As Long Dim LenSz As Long Ret = RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings", hKey) If Ret = 0 Then Ret = RegQueryValueExA(hKey, "ProxyEnable", 0, REG_DWORD, oldProxyEn, 4) Ret = RegQueryValueExA(hKey, "ProxyServer", 0, REG_SZ, ByVal 0, LenSz) oldProxyIp = String(LenSz, Chr(0)) RegQueryValueEx hKey, "ProxyServer", 0, REG_SZ, ByVal oldProxyIp, LenSz '注意ByVal千万别忘了 oldProxyIp = Left(oldProxyIp, InStr(oldProxyIp, Chr(0)) - 1) End If RegCloseKey hKey
Hand: End Sub Public Function GetHtml(ByVal Ip As String, ByVal Port As Long, ByVal Url As String, ByVal FileName As String, Optional UserName As String, Optional Password As String) As Boolean On Error GoTo Hand Dim hKey As Long Dim Ret As Long Dim LenSz As Long Dim StrIp_Port As String StrIp_Port = Ip & ":" & Port Ret = RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings", hKey) Ret = RegSetValueEx(hKey, "ProxyServer", 0, REG_SZ, ByVal StrIp_Port, Len(StrIp_Port)) Ret = RegSetValueEx(hKey, "ProxyEnable", 0, REG_DWORD, 1, 4) Set WebObject = New InternetExplorer WebObject.Navigate Url ' Set WebObject.Document.location.href = Url '下面这段还需要改进 Do Until WebObject.Busy = False DoEvents Loop
还有一个方法就是使用InternetOpen等API函数和代理连接
下面是一个使用修改注册表下网业的方法CLASS
Option Explicit
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Private Declare Function RegQueryValueExA Lib "advapi32.dll" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByRef lpData As Long, lpcbData As Long) As Long
Private Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
Private Const REG_SZ = 1&
Private Const REG_DWORD = 4&
Private Const HKEY_CURRENT_USER = &H80000001 Dim oldProxyIp As String * 255
Dim oldProxyEn As Long
Dim WebObject As InternetExplorer
Private Sub Class_Initialize()
On Error GoTo Hand
Dim hKey As Long
Dim Ret As Long
Dim LenSz As Long
Ret = RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings", hKey)
If Ret = 0 Then
Ret = RegQueryValueExA(hKey, "ProxyEnable", 0, REG_DWORD, oldProxyEn, 4)
Ret = RegQueryValueExA(hKey, "ProxyServer", 0, REG_SZ, ByVal 0, LenSz)
oldProxyIp = String(LenSz, Chr(0))
RegQueryValueEx hKey, "ProxyServer", 0, REG_SZ, ByVal oldProxyIp, LenSz '注意ByVal千万别忘了
oldProxyIp = Left(oldProxyIp, InStr(oldProxyIp, Chr(0)) - 1)
End If
RegCloseKey hKey
Hand:
End Sub
Public Function GetHtml(ByVal Ip As String, ByVal Port As Long, ByVal Url As String, ByVal FileName As String, Optional UserName As String, Optional Password As String) As Boolean
On Error GoTo Hand
Dim hKey As Long
Dim Ret As Long
Dim LenSz As Long
Dim StrIp_Port As String
StrIp_Port = Ip & ":" & Port
Ret = RegOpenKey(HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Internet Settings", hKey)
Ret = RegSetValueEx(hKey, "ProxyServer", 0, REG_SZ, ByVal StrIp_Port, Len(StrIp_Port))
Ret = RegSetValueEx(hKey, "ProxyEnable", 0, REG_DWORD, 1, 4)
Set WebObject = New InternetExplorer
WebObject.Navigate Url
' Set WebObject.Document.location.href = Url
'下面这段还需要改进
Do Until WebObject.Busy = False
DoEvents
Loop
SendKeys FileName & "{enter}"
WebObject.ExecWB OLECMDID_SAVEAS, 0, 0, 0
Set WebObject = Nothing
Ret = RegSetValueEx(hKey, "ProxyServer", 0, REG_SZ, ByVal oldProxyIp, Len(oldProxyIp))
Ret = RegSetValueEx(hKey, "ProxyEnable", 0, REG_DWORD, oldProxyEn, 4)
RegCloseKey hKey
GetHtml = True
Exit Function
Hand:
GetHtml = False
End Function
1.我的电脑HKEY_CURRENT_USERSoftware\Microsoft\Windows\CurrentVersion\Internet Settings 下并没有 ProxyServer值,所以oldProxyIp取不到
2.能不能说一下您修改注册表思路?难道IE是根据注册表里的值来递交ip地址的吗?
3.使用InternetOpen等API的思路又是怎样的?
不要以为你有了代理别人就不能知道你的真ip
我用php或者asp都可以很容易获取你经过代理后的原本ip
请教楼上的那到底有没有办法让网页不知道我的真实IP?