中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 07:02
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » vbs 如何判断一个链接的有效性?
可打印版本  930 / 5
第1楼 25869 发表于 2009-08-05 00:12
新手上路 发帖 10 积分 10
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
第2楼 slore 发表于 2009-08-05 01:38
铂金会员 发帖 2,478 积分 5,212
。。。

站点你可以ping……

URL你用HTTP对象,下载看看返回代码。。。
第3楼 25869 发表于 2009-08-05 05:03
新手上路 发帖 10 积分 10
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 ,请问怎么改正?
第4楼 qinchun36 发表于 2009-08-05 06:26
高级用户 发帖 400 积分 609
这个是因为一般网站都设置了一个 404 页面,当请求不存在的时候跳到这个错误页面,所以你的请求总是会成功的,但得到的返回却不是你想要的东西。

我帮你写了个代码,效率可能比较低,因为要下载请求资源进行验证,能判断返回的是不是资源文件(图片、声音、视频、压缩包等)。



[ Last edited by qinchun36 on 2009-8-6 at 00:46 ]

附件
验证.zip (618 bytes)
第5楼 25869 发表于 2009-08-06 11:53
新手上路 发帖 10 积分 10
qinchun36兄,能否解释一下flagText 的作用?
第6楼 qinchun36 发表于 2009-08-07 11:10
高级用户 发帖 400 积分 609
Originally posted by 25869 at 2009-8-6 11:53 AM:
qinchun36兄,能否解释一下flagText 的作用?



用来大致识别文件类型的。
我是将服务器返回的内容进行分析,因为这个例子中的目的是要图片,如果返回的是图片肯定不会是以 <****> 样式开头的,如果是这种就标记为 “cn-dos.net” ,否则就不动它,最后判断这个标志就知道是不是存在要的图片了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023