Tengo problemas para publicar en el servicio SES de Amazon usando TIdHTTP de Indy.Publicar problemas con Indy TIdHTTP
Aquí se muestra un ejemplo del código que estoy utilizando:
procedure TMainFrm.btnAmazonSESClick(Sender: TObject);
var
SSLHandler: TIdSSLIOHandlerSocket;
HttpClient: TIdHTTP;
Params: TStringStream;
begin
SSLHandler := TIdSSLIOHandlerSocket.Create(Self);
HttpClient := TIdHTTP.Create(Self);
Params := TStringStream.create('');
try
with SSLHandler do
SSLOptions.Method := sslvSSLv3
with HttpClient do
begin
IOHandler := SSLHandler;
AllowCookies := True;
HandleRedirects := True;
HTTPOptions := [hoForceEncodeParams];
Request.ContentType := 'application/x-www-form-urlencoded';
end;
PageMemo.Text := HttpClient.Post('https://email.us-east-1.amazonaws.com?Action=VerifyEmailAddress&AWSAccessKeyId=012Some123Key46&[email protected]%2Ecom', Params);
finally
SSLHandler.Free;
HttpClient.Free;
Params.Free;
end;
end;
Resultado
Bajo Indy 10.5.7 me sale el error: HTTP/1.1 404 Not Found
Bajo Indy 9.0.14 Aparece el error: Error de socket # 11004
Ensayos de depuración
Este mismo grupo demográfico pueden conseguir con éxito el código HTML de una página web HTTPS.
Si pego la URL anterior en un navegador, muestra el resultado XML esperado.
Agradecería cualquier consejo sobre la causa.
que cree que necesita los DLL SSL en la misma carpeta que la aplicación o en la carpeta de Windows system32 ... avíseme si desea que cargue las que tengo en algún lado, mi versión es libeay32.dll 1.0.0.4 y ssleay32.dll 1.0.0.4 – ComputerSaysNo
No lo hace 'POST' cualquier' Params', ¿está seguro de que desea comunicarse con el servicio web de esta manera? –
@PrematureOptimization todo después? es param name = value, en este caso Action = VerifyEmailAddress & AWSAccessKeyId = 012Some123Key46 & EmailAddress = test @ test% 2Ecom – ComputerSaysNo