vbs 搜索代理地址实现代码
2016-07-18来源:易贤网

将下面的代码,直接保存为getproxy.vbs即可。

代码如下:

'1、输入url目标网页地址,返回值getHTTPPage是目标网页的html代码

function getHTTPPage(url)

dim Http

set Http=CreateObject("MSXML2.XMLHTTP")

Http.open "GET",url,false

Http.send()

if Http.readystate<>4 then

exit function

end if

getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")

set http=nothing

if err.number<>0 then err.Clear

end function

'2、转换乱玛,直接用xmlhttp调用有中文字符的网页得到的将是乱玛,可以通过adodb.stream组件进行转换

Function BytesToBstr(body,Cset)

dim objstream

set objstream =CreateObject("adodb.stream")

objstream.Type = 1

objstream.Mode = 3

objstream.Open

objstream.Write body

objstream.Position = 0

objstream.Type = 2

objstream.Charset = Cset

BytesToBstr = objstream.ReadText

objstream.Close

set objstream = nothing

End Function

'下面试着调用http://www.proxycn.com/html_proxy/30fastproxy-1.html的html内容

Dim Url,Html,Temp

Url="http://www.proxycn.com/html_proxy/30fastproxy-1.html"

Html = getHTTPPage(Url)

Call getinfo(html)

Sub Getinfo(S)

Dim pl(),m,St

St="</TD><TD class=" & """list""" & ">"

Do

m = m + 1

n = P + Len(St)

P = InStr(n,S,St)

ReDim Preserve pl(m-1)

pl(m-1) = P

loop While P <> 0

For o = 0 to m-1

If o+1 < m-1 Then

T_S=Mid(S,pl(o)+Len(St),pl(o+1)-pl(o)-Len(St))

If Len(T_S) < 30 Then

t=t+1

Select Case t

Case 1

temp = temp & "端口 : " & T_S & vbcrlf

Case 2

temp = temp & "类型 : " & T_S & vbcrlf

Case 3

temp = temp & "地址 : " & T_S & vbcrlf

Case 4

temp = temp & "时间 : " & Now & vbcrlf

Case 5

t=0

Str_Sip = "whois.php?whois="

Str_Eip = "target=_blank>whois</TD></TR>"

n1 = P_Sip + Len(Str_Sip)

P_Sip = InStr(n1,S,Str_Sip)

n2 = P_Eip + Len(Str_Eip)

P_Eip = InStr(n2,S,Str_Eip)

Ip=Mid(S,P_Sip+Len(Str_Sip),P_Eip-P_Sip-Len(Str_Sip))

If PingIp(Ip) = 1 Then

temp = temp & "IP : " & Ip & vbcrlf

If MsgBox (temp,vbyesno,"是否继续? " )=vbno Then

WScript.quit

End If

End If

temp = ""

End Select

End If

Else

MsgBox " 没有了",vbokonly,"提示"

WSCript.quit

End If

Next

End Sub

Function PingIp(host)

On Error Resume Next

strComputer = "."

strTarget = host

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colPings = objWMIService.ExecQuery _

("Select * From Win32_PingStatus where Address = '" & strTarget & "'")

If Err = 0 Then

Err.Clear

For Each objPing in colPings

If Err = 0 Then

Err.Clear

If objPing.StatusCode = 0 Then

PingIp = 1

temp = temp & "速度 : " & objPing.ResponseTime & " 毫秒" & vbcrlf

'MsgBox strTarget & " responded to ping." & vbcrlf &_

'"Responding Address: " & objPing.ProtocolAddress & vbcrlf &_

'"Responding Name: " & objPing.ProtocolAddressResolved & vbcrlf &_

'"Bytes Sent: " & objPing.BufferSize & vbcrlf &_

'"Time: " & objPing.ResponseTime & " ms" & vbcrlf &_

'"TTL: " & objPing.ResponseTimeToLive & " seconds"

Else

PingIp = 0

'MsgBox strTarget & " did not respond to ping." &_

'"Status Code: " & objPing.StatusCode

End If

Else

Err.Clear

PingIP = 0

'MsgBox "Unable to call Win32_PingStatus on " & strComputer & "."

End If

Next

Else

Err.Clear

PingIp = 0

'MsgBox "Unable to call Win32_PingStatus on " & strComputer & "."

End If

End Function

2025公考·省考培训课程试听预约报名

  • 报班类型
  • 姓名
  • 手机号
  • 验证码
推荐信息