2

WinHttpGetProxyForUrlで指定された PAC ファイルWINHTTP_AUTOPROXY_OPTIONS.lpszAutoConfigUrlにアクセスするために HTTP 基本認証が必要な場所を使用しようとしています。

通常の認証ダイアログをポップアップさせたり、プロキシに使用するユーザー名とパスワードを提供したりする方法はありますか?

4

1 に答える 1

1

資格情報ダイアログの自動処理は、 WinInetでのみサポートされています。WinHTTP では、ユーザーのユーザー名とパスワードを自分で取得して、WinHttpSetCredentialsまたは同様の関数に渡す方法を提供する必要があります。ERROR_WINHTTP_LOGIN_FAILUREfromの戻り値を確認してからWinHttpGetProxyForUrl、ユーザーの資格情報を要求します。その時点で、次のいずれかを試して、これらの資格情報を WinHTTP に渡すことができます。

  1. WinHttpSetOptionWINHTTP_OPTION_USERNAMEを併用しWINHTTP_OPTION_PASSWORDて、ユーザー名とパスワードを設定し、 を呼び出しWinHttpGetProxyForUrlます。
  2. WinHttpGetProxyForUrlまたは、パラメーターを思い出しlpszAutoConfigUrlて、資格情報を含む URL を指定します。(つまりhttp://user:pass@intranet/)。

基本認証を使用していない場合は、 を参照することをお勧めし fAutoLogonIfChallengedますが、それは役に立ちません。

于 2012-07-22T02:00:55.733 に答える