WIN2003下, XMLHTTP不能读取网站上的内容, 提示403.1,没有权限. 100分!

ayu11789 2006-08-22 11:58:34
我有一个网页 HTTP://login.zydn.net/news.asp 我用IE访问, 正常的,可以看到, 之后我在WIN2000的机器上用XMLHTTP,访问, 也正常, 能读出这个文件的内容, 之后, 我用一台WIN2003的机器也用XMLHTTP,来读这个页面, 结果提示:
403.1

Execute Access Denied
This Virtual Directory does not allow objects to be executed.
说我没有执行权限.

我又在这个机器上用XMLHTTP读其它网站上的页面, 能读出来, 说明XMLHTTP是没有问题的. 问题是LOGIN.ZYDN.NET这个站点的设置, 我到处看这个站点的设置, 看不到什么问题,
不要说选"执行", 由于IE中都可以访问, 执行是肯定选上的, LOGIN.ZYDN.NET采用的是WIN2003
请各位大大帮个心..........问题解决, 马上给分.
...全文
1308 点赞 收藏 25
写回复
25 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qsq1170 2006-11-06
楼上的方法如果输入一个不存在的域名,看看会发生啥情况。
回复
k39k39 2006-10-16
哭啊,谁知道重装了系统就出这么多毛病,以前都好好的。
回复
k39k39 2006-09-30
另外,使用Server.CreateObject("MSXML2.serverXMLHTTP") 我的提示是501错误。
回复
k39k39 2006-09-30
在我的服务器上,使用Server.CreateObject("MSXML2.serverXMLHTTP") 一样一段时间后报错。
我的临时解决方法是缩短应用程序池回收时间,120分钟就回收一次,每次回收后,就能正常工作一段时间。
回复
zsnail 2006-09-30
我也有这个问题。。。msxml3.dll 错误 '80004005'

未指定的错误
回复
luok 2006-09-28
我曾经被这个问题困绕半年多,收集了所有关于这个问题的答案都不能解决.

事实上是程序的原因.下面代码在2003 XP 2000下测试通过

Function GetHtmlFromURL(Url)
IsGetHtmlFromURL=True
If Url<>"" Then
Dim Http
Set Http=Server.CreateObject("MSXML2.serverXMLHTTP")
Http.Open "GET",Url,False
Http.Send()
If Http.ReadyState<>4 Then
GetHtmlFromURL="获取远程文件 "&url&" 失败。"
IsGetHtmlFromURL=False
exit function
End If
GetHtmlFromURL=BytesToBSTR(Http.ResponseBody,"GB2312")
Set Http=Nothing
If Err.Number<>0 Then Err.Clear
Else
Response.Write "<SCRIPT>alert(""请先设置目标网址!"")</SCRIPT>"
End If
End Function

关键是这里Set Http=Server.CreateObject("MSXML2.serverXMLHTTP")

反复测试后发现,使用CreateObject("Microsoft.XMLHTTP") 采集某些网站有问题
使用另外一种也是

楼上几位2星的朋友的回答莫名其妙.
回复
k39k39 2006-09-26
权限已经给了USER了,甚至EVERYONE,问题仍在
回复
learsu 2006-09-22
有时候用NTFS的硬盘格式会遇到这种情况,但我不确定,建议你把权限放给user试试。
回复
k39k39 2006-09-22
我也遇到相同问题,原来在2003上好好的,后来重装了系统就不行了,
XMLHTTP开始可以抓到页面了,过一会又莫名奇妙抓不到了,现在只得把应用程序池回收时间设得很短,这样每次回收后,就可以恢复正常工作一段时间。
但回收时网站会有短暂的访问不了,影响很大……

我认为也是2003的配置问题,但找不到原因,试了很多权限修改包括重新注册文件,给予最大权限。
希望有经验的朋友指点一下。
回复
leinchu 2006-08-24
{
WINDOWS2003总是会出点这啊那的问题的

尤其是在ASP的使用上面

推荐用WINDOWS2000+SQL Server2000

}
不同意哦,我一直都是用的2003运行asp\php情况一直都很好~
2000的iis不稳定。
回复
leinchu 2006-08-24
{leinchu(忙啊,终于升级了) 你的代码, 就是用的XMLHTTP, 没什么特别, 多出的这么多代码, 都是辅助功能的.}

我测试过了,能下载你说的那个页面的,并且我的系统是2003,不过我装的是apache,所以我是用vbs

我的代码有三个函数,一个是下载数据,一个是把数据保存到文件,一个是把二进制的数据转换为文字,你要把文件下载下来,你肯定要保存起三,所以里面没一个是多余的.
回复
ayu11789 2006-08-23
leinchu(忙啊,终于升级了) 你的代码, 就是用的XMLHTTP, 没什么特别, 多出的这么多代码, 都是辅助功能的.
回复
ayu11789 2006-08-22
由于这个程序, 是要发布到到处用的, 所以, 解决的方法, 只能是修改LIGN.ZYDN.NET这台服务器的设置或是改XMLHTTP读数据的程序, 而不能改运行XMLHTTP读程序的这台机器的设置.
回复
leohuang 2006-08-22
支持楼上
回复
patchclass 2006-08-22
解决方法把,域加到信任域里面,你试试看呢
回复
patchclass 2006-08-22
跨域访问的问题,你一定是在本机执行了js操作,而不是在服务器端
回复
ayu11789 2006-08-22
不是父路径的问题, 这明显不是父路径的问题, 再说,我启用了父路径的..是IE访问完全正常, 用XMLHTTP读不出内容.
回复
jspadmin 2006-08-22
iis6的父目录默认是关闭的,经常造成问题,解决办法如楼上
回复
kite123 2006-08-22
IIS属性-》主目录-》执行许可选择-》纯脚本,然后配置-》把启用父目录选上
回复
Seaoh2008 2006-08-22
如果你访问一个.htm类的页面,并且使用了post模式,就会有403错误.XMLHTTP访问.htm类的页面只能用GET.
回复
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2006-08-22 11:58
社区公告
暂无公告