Amazon'un SES Hizmetine Indy's TIdHTTP kullanarak gönderme sorunları yaşıyorum. HTTP/1.1 404Indy TIdHTTP
Not Found: Indy 10.5.7 altındahatası alıyorum
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;
Sonuç: Burada
i kullanıyorum kod örneğiIndy 9.0.14 altında hata mesajı alıyorum: Soket Hatası # 11004
Hata ayıklama Denemeler
Aynı demo başarıyla bir HTTPS web sayfasından HTML GET olabilir.
Yukarıdaki URL'yi bir tarayıcıya yapıştırırsam, beklenen XML sonucunu gösterir.
Sebep hakkındaki her türlü tavsiyeyi takdir ediyorum.
Ben SSL dll diğer ihtiyacı inanıyoruz uygulama veya windows system32 klasöründe aynı klasörde ... bana bir yere sahip olanlar yüklemek istiyorsanız, benim sürümü libeay32.dll 1.0.0.4 ve ssleay32.dll 1.0.0.4 – ComputerSaysNo
değil Herhangi bir 'Params'' POST', web servisiyle bu şekilde iletişim kurmak istediğinizden emin misiniz? –
@PrematureOptimizasyon her şeyden sonra mı? param ad = value, bu durumda Action = VerifyEmailAddress & AWSAccessKeyId = 012Some123Key46 & EmailAddress = test @ test% 2Ecom – ComputerSaysNo