MSXML2.serverXMLHTTP send 超时问题

helloabc2012 2012-06-05 04:06:30
set XmlHttp=Server.createobject("MSXML2.serverXMLHTTP")
XmlHttp.open "get",myUrl,false
XmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
XmlHttp.send

为什么在sp xp3的机子上运行,到send这步就会超时,提示0x80072EE2 错误,操作超时,但我用浏览器是
能直接打开上面的myUrl网址的,查了网上的方法,都是讲修改host的,有没有人
遇到这样的问题呀?快把人折磨死了

后来我发现用xmlhttp.responsetext就能返回值,但是一些不是用utf-8编码的就会产生乱码,而用xmlhttp.responsebody则就会出现超时的问题
...全文
766 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
helloabc2012 2012-06-08
  • 打赏
  • 举报
回复 1
用回Server.CreateObject("Microsoft.XMLHTTP")就可以了
helloabc2012 2012-06-07
  • 打赏
  • 举报
回复
一次只请求一个资源
helloabc2012 2012-06-06
  • 打赏
  • 举报
回复
也不是所有机都有这个问题,就是部分机才会出现
helloabc2012 2012-06-06
  • 打赏
  • 举报
回复
谢谢呀,这个我都有,但是如果用 HTTP.ResponseText 来返回就很快,用 HTTP.ResponseBody 的话,就会超时,而且我要下载资源的那个网站在浏览器上直接打开是很快的
scscms太阳光 2012-06-06
  • 打赏
  • 举报
回复
应该是你一次性请求数太多,就好像采集一样,一次采集太多就会超时。
helloabc2012 2012-06-06
  • 打赏
  • 举报
回复
十几台机有两三台出现这样的问题,不能换机子呀,每台都要装这个程序的
yoory 2012-06-06
  • 打赏
  • 举报
回复
换个电脑试试,很可能本机问题。
LittleMo_2012 2012-06-05
  • 打赏
  • 举报
回复
请求时间设置长一点,设置编码跟你请求页面相同

Set HTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
HTTP.setTimeouts 10000,10000,10000,30000
HTTP.Open "GET", nSrc, false, "", ""
HTTP.Send
If HTTP.Readystate = 4 then
If HTTP.Status = 200 Then
Value = BytesToBSTR(HTTP.ResponseBody,nCharset)
Else
Value = ""
End If
Else
Value = ""
End If

Public Function BytesToBSTR(Body,nCharset)
Dim ObjStream
Set ObjStream = Server.CreateObject("Adodb.Stream")
ObjStream.Type = 1
ObjStream.Mode = 3
ObjStream.Open
ObjStream.Write body
ObjStream.Position = 0
ObjStream.Type = 2
ObjStream.Charset = nCharset
BytesToBSTR = ObjStream.ReadText
ObjStream.Close
set ObjStream = Nothing
End Function
helloabc2012 2012-06-05
  • 打赏
  • 举报
回复
有人知道吗?有人知道吗?有人知道吗?有人知道吗?有人知道吗?有人知道吗?有人知道吗?有人知道吗?

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧