Board logo

标题: 求教!如何判断URL链接是否存在? [打印本页]

作者: ajon911     时间: 2008-11-3 14:07    标题: 求教!如何判断URL链接是否存在?

请大虾们帮忙!
比如要判断 http://www.baidu.com/10000.txt 链接是否存在,存在则继续执行下面命令,(主要是如何判断URL链接)
自己无法解决,特此发帖求助,还望大虾们能解答此疑惑...

批处理或vbs都可以(不依靠外部工具执行)

[ Last edited by ajon911 on 2008-11-3 at 17:24 ]
作者: HAT     时间: 2008-11-3 16:05
用VBS访问这个URL,然后判断返回值是不是200
作者: ajon911     时间: 2008-11-3 16:20


  Quote:
Originally posted by HAT at 2008-11-3 04:05 PM:
用VBS访问这个URL,然后判断返回值是不是200

能否具体说明一下??
作者: yishanju     时间: 2008-11-3 17:00
其实用外部工具,WGET curl 也可以实现
作者: yishanju     时间: 2008-11-3 17:04
像百度这个连接也会返回200吧,但是显像这个文件是不存在的。

判断返回值也许不一定准,用wget 或curl 下载要访问的文本,然后分析文件里的内容。。。
作者: ajon911     时间: 2008-11-3 17:21
期待满意的解决方案...
(不依靠外部工具执行)
作者: s11ss     时间: 2008-11-3 19:48
baidu的页面不存在也会返回200,可以把得到的网页内容和http://www.baidu.com/search/error.html的比较,相同的话就是页面不存在,vbs可以实现
作者: ajon911     时间: 2008-11-3 20:35


  Quote:
Originally posted by s11ss at 2008-11-3 07:48 PM:
baidu的页面不存在也会返回200,可以把得到的网页内容和http://www.baidu.com/search/error.html的比较,相同的话就是页面不存在,vbs可以实现

即是如此有请 s11ss 兄该帮改良改良,(下面的返回时间太长)
On Error Resume Next
Set oDOM=WScript.GetObject("http://www.baidu.com/10000.txt")
if err.Number<>0 then
    WScript.echo "不存在"
    WScript.quit
end if
Do Until oDOM.readyState="complete"
WScript.sleep 200
Loop
s = oDOM.documentElement.outerText
Set oDOM=nothing
if InStr(s, "不存在")>0 or InStr(s, "未找到") then WScript.echo "不存在"
作者: s11ss     时间: 2008-11-3 21:50
我这儿很快啊,一下就返回了
作者: dtdfctdoslm     时间: 2008-11-3 22:34    标题: 肯定慢,如果网络慢

肯定慢,如果网络慢
作者: qinzdc     时间: 2008-11-3 23:50
晕了,积分是怎么才有的呢~~~我的杂就是o
作者: HAT     时间: 2008-11-4 00:41    标题: Re 11楼

Q: 怎样获得积分?
A: 发新话题奖励: 积分 1 点 - 发表回复奖励: 积分 1 点