以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  用xmlHttp或serverXMLHTTP跨域访问远程CGI的问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=18589)


--  作者:winbowl
--  发布时间:5/20/2005 5:27:00 PM

--  用xmlHttp或serverXMLHTTP跨域访问远程CGI的问题
我在做一个搜索引擎,需要访问sina的一个远程CGI,该CGI返回的是一个XML文档,我在服务器端用XMLHTTP或者ServerXMLHTTP时,ResponseXML没有结果,ResponseText能得到数据。请问对于CGI,是不是有特殊的处理?如何能够得到CGI返回的XML?
希望帮忙看看,帮我测试,我花了好多时间,bow!下面是代码:
   var url = "http://partner.sina.com.cn/cgi-bin/search/search.cgi?_searchkey=aa
a&sp=10&bg=1&partner=1000";
   var objSrvHTTP;
   objSrvHTTP = Server.CreateObject ("MSXML2.ServerXMLHTTP");
   objSrvHTTP.open ("get",url, false);
   objSrvHTTP.send ();
   Response.ContentType = "text/xml";
   Response.Write (objSrvHTTP.responseXML.xml);
   //Response.Write(objSrvHTTP.responseText);
   var objXMLReceive;
   objXMLReceive = Server.CreateObject("MSXML2.DOMDocument");
   objXMLReceive.async = false;
   //objXMLReceive = objSrvHTTP.responseXML;

   objXMLReceive.load(objSrvHTTP.responseXML);

     if (objXMLReceive.parseError.errorCode != 0) {
        var myError = objXMLReceive.parseError;
        Response.ContentType = "text/html";
        Response.Write("出错: " + myError.reason);
        Response.End();
      }

    if(objXMLReceive!=null)
        var root=objXMLReceive.documentElement
    else {
        Response.ContentType = "text/html";
        Response.Write('对不起,没有查找到你所要的信息!');
        Response.End();
    }
    if(root!=null)
        var searchResultNode=root.childNodes.item(0)
    else {
        Response.ContentType = "text/html";
        Response.Write('对不起,没有查找到你所要的信息!');
        Response.End();
    }
   Response.Write("successful");
   Response.Write (objXMLReceive.xml);
   Response.End();



--  作者:winbowl
--  发布时间:5/20/2005 6:04:00 PM

--  
对了,我在访问远程的一个纯xml文件时没有问题的。
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms