ここにいるよ
1 - まず、indy のソースが更新されていることを確認してください。
2 - Indy SLL DLLSから SSL dll をダウンロードし、アプリの出力に配置します。
3 - 次のプロパティが構成されたプロパティにTIdSSLIOHandlerSocketOpenSSL
接続されていることを確認します。TidHttp
IOHandler
SSLOptions.Method := sslvSSLv23;
SSLOptions.Mode := sslmUnassigned;
OnVerifyPeer := SSLIOHandlerVerifyPeer;
SSLOptions.VerifyMode := [sslvrfPeer];
SSLOptions.VerifyDepth := 2;
4 - このイベントを書きます:
function SSLIOHandlerVerifyPeer(Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer): Boolean;
begin
Result := True;
end;
5 - これらのユニットを uses 句に含めます。
IdAuthentication, IdAuthenticationDigest, IdAuthenticationNTLM
6 -TidHttp.OnProxyAuthorization
イベントを次のように設定します。
procedure IdHTTPProxyAuthorization(Sender: TObject; Authentication: TIdAuthentication; var Handled: Boolean);
begin
Handled := False;
end;
7 - これらのプロパティを設定します。
IndyHttpClient.HTTPOptions := IndyHttpClient.HTTPOptions + [hoKeepOrigProtocol] + [hoInProcessAuth];
IndyHttpClient.ProtocolVersion := pv1_1;
IndyHttpClient.ProxyParams.ProxyServer := 'you proxy address here'
IndyHttpClient.ProxyParams.ProxyPort := 8080;
IndyHttpClient.ProxyParams.ProxyUsername := 'your proxy username here';
IndyHttpClient.ProxyParams.ProxyPassword := 'your proxy psw here';
これで準備完了です。このコードは、Microsoft ISA Server でも機能します。ご希望でしたら、私のコンポーネントの完全なソース コードをお送りします。ポルトガル語で書かれているので、ここには投稿しません (誰かが投稿してもいいと言わない限り)。