0

我正在尝试使用 url 从 Opentext 从 Content Server 恢复 XML。这是我正在使用的代码的一部分。wURL 是:https://company.domain/company/cs.exe/?func=ll&objId=999999&objAction=xmlexport

Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.Open "GET", wURL, False    
objXMLHTTP.Send 

xmldoc.Load objXMLHTTP.responseXML
Set xmlNodeList = xmldoc.getElementsByTagName("llnode")

我得到这个回应:

?objXMLHTTP.responsetext = 
 <html><body onload="document.forms[0].submit()"><noscript><p><strong>Note:</strong> Since your 
 browser does not support JavaScript,you must press the Continue button once to proceed.</p>        
 </noscript><form action=wURL method="post"><div><input type="hidden" name="OTDSTicket" value="

我发现如果我在执行函数之前通过 IE 访问 URL,它会将 XML 加载到 xmlNodeList 中。我尝试使用导航到 URL 的 IE 对象来自动化该过程,但这不可行,因为我需要查看 500 多个 XML,最终 IE 返回一个自动化错误。

我认为通过在调用函数之前访问 URL,我以某种方式进行身份验证或创建连接,从而能够加载 XML。我想知道是否可以通过代码以可靠的方式重新创建该身份验证。

我也试过:

objXMLHTTP.Open "GET", wURL, False, myUserName, myPW 

用我的凭据,但它没有改变任何东西。谢谢你。

4

2 回答 2

0
objXMLHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)"

这告诉服务器您是 IE8(即使您不是)。放在objXMLHTTP.Send行前。这足以欺骗服务器吗?

于 2014-11-28T06:20:54.243 回答
0

你在哪个版本?您应该尝试使用其余的 api。可用于 2014-09 更新。

于 2014-11-29T00:46:19.127 回答