The system cannot locate the resource specified.

ASP网站采集程序用的好好的,今天突然出现这问题。本地能正常采集,就是服务器上死活不让采。

The system cannot locate the resource specified.

这个是捕捉到的Err.Description提示。程序如下:

Set xmlHttp = CreateObject("Msx"&"ml2.XM"&"LHT"&"TP.6.0")
xmlHttp.Open "POST", PostUrl, False 
XmlHTTP.setRequestHeader "Content-Length",Len(PostData)  
xmlHttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded" 
xmlHttp.setRequestHeader "Referer", RefererUrl
xmlHttp.Send PostData

Google之,错误原因及其解决方法有不少,罗列一下:

(一)那就是最基本的了,你的服务器不支持xmlhttp或组件版本态低,需要下载相应的组件。这个一般服务器都不需要的,大多数情况下都支持xmlhttp,所以这个情况较少。
(二)msxml3.dll文件可能损坏或该文件使用权限不够(权限这个情况可能性较小),如果是文件损坏的话,你可以到网上下载相应系统环境的msxml3.dll文件替换下(2003系统好像在c:windowssystem32下),需要关闭相应的服务例如iis等才能覆盖。
(三)防火强或杀毒软件禁用了相应的端口,具体该怎么设置要根据不同的软件而定,你可以试着关闭防火墙或杀毒软件后再测试确定是否是这个问题。
(四)重新注册下该组件试试看。开始>>运行: regsvr32 msxml3.dll
(五)DNS解析错误,检查你的网络设置或正确的域名解析访问
(六)检查你的IP筛选的设置(这个不是太了解)
(七)对方资源失效,比如采集某条信息时,对方该条信息不存在导致程序终止错误,也可能是这种情况。这种错误都是出现在调用了 xmlhttp 组件的 Open方法,接着再用Send方法后造成的。当open方法的的 url 参数无法访问时,就会造成 8000005 错误。并且一旦产生这种错误,就会导致应用程序终止,无法继续操作。
(八)进入服务器设置您的IE安全选项(把等级设中或低试试看),在受信任网站里加入您要获取的域名即可。
(九)去微软下载了MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)和Hotfix for MSXML 4.0 Service Pack 2 – KB832414 – 简体中文(KB832414_MSXML4.0_x86.exe)安装后,问题解决了!

仔细看了一下,貌似讲的都跟我这不一样,因为我同个服务器另外一个采集程序能正常采集。于是上服务器上查看,期待能找到点端倪。
将采集网站的网址放服务器上浏览器运行,居然打不开。猜测应该是对方把我的IP给屏蔽掉了。
知道原因就好办了,于是本地采集数据,然后远程插入服务器数据库。搞定。 本地的IP是动态的,每天都变,看你怎么屏蔽,要想彻底搞定我,他只能修改网站代码不让采集了。
道高一尺,魔高一丈~! 嘿嘿~

发表评论

邮箱地址不会被公开。 必填项已用*标注