|
25869
新手上路
积分 10
发帖 10
注册 2009-8-1
状态 离线
|
『楼 主』:
vbs 如何判断一个链接的有效性?
比如,要判断 www.baidu.com/img/baidu_logo.gif 是否有效或存在,变一下slore兄的代码,总是提示不通。
不知这个举一反三是不是用错了,请指教,多谢!
HOST = "."
TARGET = "www.baidu.com/img/baidu_logo.gif"
Set PingResults = GetObject("winmgmts:{impersonationLevel=impersonate}//" & _
HOST & "/root/cimv2"). ExecQuery("SELECT * FROM Win32_PingStatus " & _
"WHERE Address = '" + TARGET + "'")
For Each PingResult In PingResults
If PingResult.StatusCode = 0 Then
WScript.Echo "通"
Else
WScript.Echo "不通"
End If
Next
|
|
2009-8-5 00:12 |
|
|
slore
铂金会员
积分 5212
发帖 2478
注册 2007-2-8
状态 离线
|
『第
2 楼』:
。。。
站点你可以ping……
URL你用HTTP对象,下载看看返回代码。。。
|
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore |
|
2009-8-5 01:38 |
|
|
25869
新手上路
积分 10
发帖 10
注册 2009-8-1
状态 离线
|
『第
3 楼』:
url="http://www.baidu.com/img/baidu_logo.gif"
Set xmlHTTP=createobject("Microsoft.XMLHTTP")
xmlhttp.open "GET", URL, False, False
xmlhttp.send
wscript.sleep 300
If xmlhttp.status=200 Then
wscript.echo "ok"
else
wscript.echo "no"
end if
不论什么链接,都提示 ok ,请问怎么改正?
|
|
2009-8-5 05:03 |
|
|
qinchun36
高级用户
据说是李先生
积分 609
发帖 400
注册 2008-4-23
状态 离线
|
『第
4 楼』:
这个是因为一般网站都设置了一个 404 页面,当请求不存在的时候跳到这个错误页面,所以你的请求总是会成功的,但得到的返回却不是你想要的东西。
我帮你写了个代码,效率可能比较低,因为要下载请求资源进行验证,能判断返回的是不是资源文件(图片、声音、视频、压缩包等)。
'(P) 『据说是李先生』
on error resume next
msgYES = "指定资源存在。"
msgNO = "指定的资源不存在。"
'URL 要写完整的
url="http://www.baidu.com/img/baidu_logo.gif"
Set xmlHTTP=createobject("Microsoft.XMLHTTP")
xmlhttp.open "GET", URL, false
xmlhttp.send
if err.number <> 0 then
flagText = "cn-dos.net"
else
flagText = left(xmlhttp.responseText, 1703)
set regex = new RegExp
regEx.Global = True
regex.pattern = "^\s*"
flagText = regex.replace(flagText, "")
regex.pattern = "^<.*>"
flagText = regex.replace(flagText, "cn-dos.net")
flagText = left(flagText, 10)
msgNO = msgNO & vbcrlf & "或者不是图片、声音、食品、程序、压缩文件类型文件。"
end if
If flagText <> "cn-dos.net" Then
wscript.echo msgYES
else
wscript.echo msgNO
end if [ Last edited by qinchun36 on 2009-8-6 at 00:46 ]
附件
1: 验证.zip (2009-8-6 00:45, 618 bytes,下载次数: 28)
|
|
2009-8-5 06:26 |
|
|
25869
新手上路
积分 10
发帖 10
注册 2009-8-1
状态 离线
|
『第
5 楼』:
qinchun36兄,能否解释一下flagText 的作用?
|
|
2009-8-6 11:53 |
|
|
qinchun36
高级用户
据说是李先生
积分 609
发帖 400
注册 2008-4-23
状态 离线
|
『第
6 楼』:
Quote: | Originally posted by 25869 at 2009-8-6 11:53 AM:
qinchun36兄,能否解释一下flagText 的作用? |
|
用来大致识别文件类型的。
我是将服务器返回的内容进行分析,因为这个例子中的目的是要图片,如果返回的是图片肯定不会是以 <****> 样式开头的,如果是这种就标记为 “cn-dos.net” ,否则就不动它,最后判断这个标志就知道是不是存在要的图片了。
|
|
2009-8-7 11:10 |
|