首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

MSXML2.serverXMLHTTP send 超时有关问题

2012-06-10 
MSXML2.serverXMLHTTP send 超时问题set XmlHttpServer.createobject(MSXML2.serverXMLHTTP)XmlHttp.op

MSXML2.serverXMLHTTP send 超时问题
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则就会出现超时的问题

[解决办法]
请求时间设置长一点,设置编码跟你请求页面相同

VBScript code
Set HTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")    HTTP.setTimeouts 10000,10000,10000,30000     HTTP.Open "GET", nSrc, false, "", ""    HTTP.SendIf HTTP.Readystate = 4 then    If HTTP.Status = 200 Then        Value = BytesToBSTR(HTTP.ResponseBody,nCharset)    Else        Value = ""    End IfElse    Value = ""End IfPublic 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 = NothingEnd Function
[解决办法]
换个电脑试试,很可能本机问题。
[解决办法]
应该是你一次性请求数太多,就好像采集一样,一次采集太多就会超时。

热点排行