Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi HTTP POST an localhost (https://www.delphipraxis.net/205692-http-post-localhost.html)

kagi3624 7. Okt 2020 10:23

HTTP POST an localhost
 
hallo, ich habe einen Server local auf den ich einen POST machen möchte. Die anfrage über curl funktioniert:

Code:
curl --location --request POST 'localhost:8080/myService' --header --data-raw '.'
Das Problem ist, dass Clever Components, was ich bisher benutzt habe, mit so einer URL nicht klar kommt, und Indy kann man gleich wegkloppen. Kennt jemand eine Bibliothek oder weiß sonst wie man eine localhost Anfrage machen kann. Vielen dank :thumb:

Uwe Raabe 7. Okt 2020 10:37

AW: HTTP POST an localhost
 
Hast du schon mal THTTPClient probiert? Oder wenn es um REST geht gleich einen TRESTClient?

kagi3624 7. Okt 2020 10:39

AW: HTTP POST an localhost
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1475013)
Hast du schon mal THTTPClient probiert? Oder wenn es um REST geht gleich einen TRESTClient?


Geht das denn mit Delphi 6? Leider ist zu "upgraden" keine Option.

Uwe Raabe 7. Okt 2020 10:46

AW: HTTP POST an localhost
 
Zitat:

Zitat von kagi3624 (Beitrag 1475014)
Geht das denn mit Delphi 6?

Nein, das wird wohl nichts. Ich glaube auch kaum, dass du eine aktuelle Bibliothek findest, die noch Delphi 6 unterstützt.

kagi3624 7. Okt 2020 10:50

AW: HTTP POST an localhost
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1475016)
Zitat:

Zitat von kagi3624 (Beitrag 1475014)
Geht das denn mit Delphi 6?

Nein, das wird wohl nichts. Ich glaube auch kaum, dass du eine aktuelle Bibliothek findest, die noch Delphi 6 unterstützt.

:o not

Neutral General 7. Okt 2020 11:23

AW: HTTP POST an localhost
 
Zeig doch mal deinen Code. Also jede HTTP-Komponente (egal ob Indy oder deine Clever Dinger) sollten das was du da willst hinkriegen.
Das sieht mir jetzt nicht nach irgendwas super speziellem aus.

mjustin 7. Okt 2020 11:31

AW: HTTP POST an localhost
 
Zitat:

Zitat von kagi3624 (Beitrag 1475012)
Das Problem ist, dass Clever Components, was ich bisher benutzt habe, mit so einer URL nicht klar kommt, und Indy kann man gleich wegkloppen.

Die aktuelle Indy Version 10.6.2 unterstützt noch Delphi 5 bis 2007 Erst ab Indy 11 werden nur noch die Unicode-Versionen ab 2009 unterstützt.

kagi3624 7. Okt 2020 11:47

AW: HTTP POST an localhost
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Neutral General (Beitrag 1475020)
Zeig doch mal deinen Code. Also jede HTTP-Komponente (egal ob Indy oder deine Clever Dinger) sollten das was du da willst hinkriegen.
Das sieht mir jetzt nicht nach irgendwas super speziellem aus.

Hier ist der code:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  Http : TclHttp;
  clHttpRequest : TclHttpRequest;
  response : TStringList;
  Data : TclJSONObject;
begin
  Http := TclHttp.Create(nil);
  clHttpRequest := TclHttpRequest.Create(nil);
  response := TStringList.Create() ;
  Data := GetJasonBody('a', 'b', 'v', 'sdfd');
  try
    Http.TLSFlags := [tfUseSSL2, tfUseSSL3, tfUseTLS, tfUseTLS11, tfUseTLS12];
    Http.Port := 8080;
    clHttpRequest.Header.Clear;
    clHttpRequest.Header.Accept := 'application/json';
    clHttpRequest.Header.ContentType := 'text/plain';
    clHttpRequest.Header.ExtraFields.Add('token:2124124');


    clHttpRequest.BuildJSONRequest(Data);

    Http.Post('localhost:8080/startTransaction', clHttpRequest, response);

  finally
    Data.Free;
    Http.Free;
    clHttpRequest.Free;
    response.Free;
  end;
end;
Mit einer normalen URL funktioniert es ja (ich habe den Postman Echo Server benutzt) und an dem Server selbst liegt es auch nicht (da funktioniert Postman auch), ich hab bis zu der stelle durchdebuggt wo aus der url dann was komisches gemacht wird (als Bild).

mjustin 7. Okt 2020 11:57

AW: HTTP POST an localhost
 
Warum setzt Du TLS / SSL Flags? Mach die weg, wenn der Server ohne Verschlüsselung arbeitet. Und warum setzt Du den Port auf 8080 wenn in der Url dann :8000 benutzt wird?

Verwende mal die URL mit Protokoll: 'http://localhost:8080/startTransaction' oder verwende '127.0.0.1' anstelle von 'localhost'

samso 7. Okt 2020 12:02

AW: HTTP POST an localhost
 
zu langsam...

Zitat:

Zitat von kagi3624 (Beitrag 1475024)

bis zu der stelle durchdebuggt wo aus der url dann was komisches gemacht wird (als Bild):

Mir scheint da interpretiert der Parser "localhost" als Protokoll. Hast Du schon mal "https://localhost.." versucht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz