AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi rest server wie muss das post Command aussehen oder welchen Server könnte ich verwend
Thema durchsuchen
Ansicht
Themen-Optionen

rest server wie muss das post Command aussehen oder welchen Server könnte ich verwend

Ein Thema von ScharfeMietze · begonnen am 19. Okt 2019 · letzter Beitrag vom 23. Okt 2019
 
ScharfeMietze

Registriert seit: 5. Mär 2014
165 Beiträge
 
Delphi 10.2 Tokyo Architect
 
#37

AW: rest server wie muss das post Command aussehen oder welchen Server könnte ich ver

  Alt 23. Okt 2019, 00:03
Dein Problem ist dein Client, nicht der Server. Du gibst einen Text im JSON-Format an, setzt aber in deinem Client keinen Content-Type. Daher setzt der Client dann automatisch einen Content-Type, und zwar auf "x-www-form-url-encoded", was ziemlich spezfisch ist. Hier gibt es dann leider doch einen kleinen Automatismus auch im einfachen Web-Broker, weil der halt merkt, dass der Content so überhaupt nicht zum angegebenen Content-Type passt. Das heißt: in deinem Client musst du für den Request den Content-Type anpassen, damit du testen kannst - auf application/json oder auf text/plain (wie das beim TNetHTTPClient geht, hab ich noch nicht getestet, weil noch nicht gebraucht bisher).

Wie hier schon mal von jemand anderem geschrieben: es ist einfacher, wenn du für den Tests des Servers das Tool "Postman" nimmst, welches genau für so etwas da ist. Im Anhang ein Screenshot, bei dem du dann siehst, dass dann, wenn der Content-Type nicht komplett was anderes sagt als der Content, auch eine sinnvolle Antwort vom Server zurückkommt. Schau dir das Tool mal an - damit kannst du schnell und einfach "rumspielen" und deinen Server testen.
Ich habe ja keinen Zugriff auf die Webhook Server "Clienten"

Daher muss der Server damit umgehen können.

als Beispiel
Delphi-Quellcode:
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Win.ScktComp;

type
  TfTVServer = class(TForm)
    srvrsckt1: TServerSocket;
    mmo1: TMemo;
    procedure srvrsckt1Accept(Sender: TObject; Socket: TCustomWinSocket);
    procedure srvrsckt1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
  private
    procedure mmoAdd(Value:string);
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  fTVServer: TfTVServer;

implementation

{$R *.dfm}

procedure TfTVServer.mmoAdd(Value: string);
begin
mmo1.Lines.Add(TimeToStr(now) + ' Server : "' + Value + '"');
end;

procedure TfTVServer.srvrsckt1Accept(Sender: TObject; Socket: TCustomWinSocket);
begin
mmoAdd('Remotehost :' + Socket.RemoteHost);
mmoAdd('Remoteadress : ' +Socket.RemoteAddress);

end;

procedure TfTVServer.srvrsckt1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
begin
mmoAdd('ReciveText : ' + Socket.ReceiveText);
end;
Das funktioniert. nur leider nicht mit ipv6

Die Ausgabe ist folgende
Delphi-Quellcode:
00:43:32 Server : "Remotehost :ec2-34-212-75-30.us-west-2.compute.amazonaws.com"
00:43:32 Server : "Remoteadress : 34.212.75.30"
00:43:32 Server : "ReciveText : POST / HTTP/1.1
Host: alpt.kxmwm3epa9wmpje7.myfritz.net
User-Agent: Go-http-client/1.1
Content-Length: 74
Content-Type: text/plain; charset=utf-8
Accept-Encoding: gzip

100.0 Kleiner als RSI PPO Divergence (55, 12, 26, 9, 2, 14) auf BTCUSD, 1D"
Da die WebhookServer oft auf den Port 80 bestehen brauche ich einen Server der alle und alles empfängt.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:54 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-2025 by Thomas Breitkreuz