OnProxyAuthorization で Indy プロキシ アカウントを指定する
TIdHTTP のプロキシ認証イベントを使って、認証メカニズムがアプリケーションにアカウントを求めたときに提供します。
TIdHTTP は OnProxyAuthorization を公開しており、プロキシ認証メカニズムがアプリケーションにアカウントの提供を求める時点で呼び出されます。コールバックは TIdAuthentication オブジェクトと Handled の結果を受け取ります:
procedure TForm1.IdHTTP1ProxyAuthorization(Sender: TObject;
Authentication: TIdAuthentication; var Handled: Boolean);
begin
Authentication.Username := 'PROXY_USER';
Authentication.Password := 'PROXY_PASSWORD';
Handled := True;
end;
型には IdAuthentication ユニットを使い、このメソッドを HTTP コンポーネントの OnProxyAuthorization イベントに割り当てます。プレースホルダーの値は、アプリケーションの資格情報ロジックが提供するアカウントに置き換えます。
Handled=true を返すと、認証メカニズムはその値で処理を続行できます。ユーザーがキャンセルした場合や、アプリケーションが資格情報の提供を拒否した場合は false を返します。
プロキシの接続先は引き続き コンポーネントの ProxyParams 構成 に属します。コールバックは選択された方式のやり取りに参加するだけで、Basic や NTLM のヘッダーを自前で計算する必要はありません。