1

ポータルへの GET 呼び出しをトリガーするマクロがあります。以下は URL 構造です。

https://{P_URL_PORT}/ibm/console/status?text=true&type=cluster&name={P_CELL}&time={tStamp}

これが私のマクロです。

Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
WinHttpReq.Open "GET", strURL, False, userNTID, userPassword
WinHttpReq.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
WinHttpReq.Send
result1 = WinHttpReq.responseText

しかし、私は期待される応答を得ていません。ログイン画面の応答を表示しています。ログイン URL、ユーザー名、およびパスワードを送信する POST メソッドを追加しようとしました。しかし、それでも GET 呼び出しは実際の応答を取得していません。

4

1 に答える 1

0

WinHttpRequest の open 関数は、ユーザー名とパスワードをパラメーターとして取りません。Internet Explorer でサイトに自動的にログインできる場合は、SetAutoLogonPolicy() でそれらの設定を使用できます。

警告: 自動ログインは、Cookie によるものではなく、プロキシ設定によるものです。ブラウザが前回のログインを記憶しているため、サイトに自動ログインできる場合があります。

念のため:- すべてのブラウザ ウィンドウを閉じます。プライベート ウィンドウを開きます。ここで自動ログインする場合は、インターネット オプションで設定されていることを意味し、SetAutoLogonPolicy() が機能するはずです。

Dim URL As String
    URL = "" 'provide URL
Dim HDoc As HTMLDocument
Dim whr As New WinHttpRequest
whr.Open "GET", URL, False
whr.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
whr.SetAutoLogonPolicy AutoLogonPolicy_Always
whr.Send

ログインする必要がある場合は、資格情報を提供してから SetCredentials() を使用します。そのようなリクエストの良い例はここにあります

于 2015-11-23T08:23:16.550 に答える