![]() |
Delphi-Version: 10.1 Berlin
Indy - socket error #10061 & Unexpected EOF
Huhu,
ich versuche mit den Indy Komponenten auf eine API zuzugreifen. Bei meiner Get Methode, kommt die Socket Fehlermeldung #10061 "Verbindung abgelehnt". Bei meiner Post Methode, kommt die EOF Meldung "EOF festgestellt, da gegen das Protokoll verstößt." Mit Postman habe ich die Requests nochmal überprüft und da gehts. Die Verbindung scheint zu stimmen und die API ist generell ansprechbar. Ich nutze die IdHTTP und die IdSSLIOHandlerSocketOpenSSL Komponenten von Indy. IdHTTP Settings (abseits vom Default): ProxyPort: 8888 ProxyServer: 127.0.0.1 SSLHandler Settings (abseits vom Default): SSLVersion: TLSv1_1 SSLHost: 'NB1819157' {Notebook Name} SSLPort: 5001 Get Methode:
Delphi-Quellcode:
Post Methode:
var
ResponseStream: TFileStream; begin ResponseStream := TFileStream.Create(edtDatei.Text, fmCreate); try IdHTTP.Get(edtURL.Text, ResponseStream); lbHTTPResponse.Caption := 'HTTP-Status: ' + IntToStr(IdHTTP.ResponseCode); finally ResponseStream.Free; end; ShowMessage('Download abgeschlossen') end;
Delphi-Quellcode:
Hoffe es hat jemand eine Idee dazu, ich bin dankbar über jeden hilfreichen Ansatz.
var
ResponseStr: string; Data : TStringStream; begin with TIdHTTP.Create(nil) do try Request.ContentType := 'application/atom+xml'; Data := TStringStream.Create('', CP_UTF8); try if not SystemOptionsManager[11472].AsString.IsEmpty then begin memo1.lines.Add('https://' + SystemOptionsManager[11472].AsString {'nb1819157:5001'} + '/loginIntegration?' + URLBuilder(Username, Password, Database)); Data.WriteString(URLBuilder(Username, Password, Database)); Request.CharSet := 'UTF-8'; ResponseStr := Post('https://'+SystemOptionsManager[11472].AsString+'/loginIntegration?', Data); end else begin ShowMessage('Keine URL zur API angegeben.'); end; finally Data.Free; end; finally Free; end; end; Grüße! |
AW: Indy - socket error #10061 & Unexpected EOF
1. Edit:
Das Get Problem scheint sich von selbst gelöst zu haben. Ich habe mit Fiddler mal geschaut, was so hin und her geschickt wird und auf einmal ging es... Das Post Problem bleibt weiterhin. 2. Edit: Die oben Angesprochenen Settings werden im Quellcode übrigens bei FormActivate gesetzt.
Delphi-Quellcode:
Die Konstanten dazu sehen ähnlich langweilig aus:
IdHTTP.ProxyParams.ProxyPort := PROXYPORT;
IdHTTP.ProxyParams.ProxyServer := PROXYSERVER; IdSSLIOHandlerSocketOpenSSL1.Host := SSLHOST; IdSSLIOHandlerSocketOpenSSL1.Port := SSLPORT;
Delphi-Quellcode:
Ich dachte das wäre vielleicht noch erwähnenswert.
const PROXYPORT = 8888;
const PROXYSERVER = '127.0.0.1'; const SSLHOST = 'NB1819157'; const SSLPORT = 5001; |
AW: Indy - socket error #10061 & Unexpected EOF
Update:
Sowohl das GET, als auch das POST Problem ließen sich auf meine Einstellungen zurückführen...
Delphi-Quellcode:
Nachdem die default Werte hier wiederhergestellt wurden, lief es zumindest beim GET wieder wie geplant. Und beim POST kommt nun eine neue Fehlermeldung:
//IdHTTP.ProxyParams.ProxyPort := PROXYPORT;
//IdHTTP.ProxyParams.ProxyServer := PROXYSERVER; //IdSSLIOHandlerSocketOpenSSL1.Host := SSLHOST; //IdSSLIOHandlerSocketOpenSSL1.Port := SSLPORT; "HHTP/1.1 400 Bad Request" Achja und Fiddler scheint irgendwie auch als ein Proxy Server zu fungieren. Auf jeden Fall wurden die Anfragen umgeleitet und haben unter Anderem auch deswegen nicht funktioniert. Vorher habe ich noch nicht damit gearbeitet daher kann ich da keine genaue Aussage zu treffen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz