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 に答える