![]() |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
![]() ![]()
Delphi-Quellcode:
Bis bald...
const
REQUEST_PATH = 'SaveFile?fileName=%s'; begin HTTPRequest.URL := Format(BASE_URL + REQUEST_PATH, [pmcFileName]); HTTPRequest.Command := httpPUT; HTTPRequest.PostData := ...; HTTPRequest.Execute( procedure(pmResponse: String; pmRequest: TJSXMLHttpRequest) begin if pmRequest.Status = 200 then ShowMessage(Format('File %s was saved.', [pmcFileName])) else ShowMessage('Error: File was not saved.'); end); end; Thomas |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Danke
ich baue das mit dem Senden und der / Meldung / Fehlermeldung mal ein aber das löst leider mein Empfangsproblem nicht :-( |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
|
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Hallo also nachdem ich doch so nett gebeten wurde das mit INDY zu machen habe ich jetzt mal die idHTTPServer genutzt.
Alles von neuem. Ich habe mir einige Beispiele angeschaut aber schon beim empfangenen Option Command stellt sich die Frage wie gebe ich den Send zurück. Aresponseinfo.ResponseText := 'HTTP/1.0 200 OK'; klappt nicht und ich habe schon einiges Probiert
Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandOther(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo); begin // arequestinfo.URI angeforderte Seite // arequestinfo.Command komando welches gegeben wurde get Post .... // arequestinfo.Document Seiteninfoi nach der Domain // arequestinfo.Host // arequestinfo.From aufrufende Adresse memo1.Lines.Add('CommandGet: URI: ' + arequestinfo.URI + ' | Command: '+ arequestinfo.Command + ' | PostStream: ' + mystreamtostring(arequestinfo.PostStream)) ; memo1.Lines.Add('Document: ' + arequestinfo.Document + ' | Params: ' + arequestinfo.Params.Text + ' | Host: ' + arequestinfo.Host + ' | From: ' + arequestinfo.From ); memo1.Lines.Add(' Konnektion: ' + arequestinfo.Connection ); if arequestinfo.Command = 'OPTIONS' then Begin // Abfrage des WEB Servers was kannst du Aresponseinfo.ResponseText := 'HTTP/1.0 200 OK'; memo1.Lines.Add('Options : ' +'HTTP/1.0 200 OK'); End; end; |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Hmm..
wieso nicht einfach :
Delphi-Quellcode:
ResponseInfo.ResponseNo = 200;
Der Responsetext ist für die Rückgabedaten... |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Guter Tipp, das probiere ich doch gleich mal aus ....
ich bin gerade mal voll der Anfänger mit der Komponente. Der Sender bricht auf jeden Fall derzeit ab, weil falsche Antwort :-( Ich probiere dein Vorschlag ... DANKE Ich versuche gerade mal den Port mit etwas zu tracen das ich sehe was da eigentlich passiert... |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Mach doch einfach Mal in Delphi Datei -> Neu -> Weitere -> Delphi-Projekte -> WebBroker -> Web Server Anwendung.
Dann kannst du im WebModule einfach "Actions" anlegen und dort die Daten verarbeiten... Und bedenke, dass ein Webserver mehrere Anfragen gleichzeitig abarbeiten kann; deshalb arbeitet Indy an der Stelle multithreaded. Auf die Oberfläche oder globale Variablen zuzugreifen ist also nicht so dolle (im WebModule). |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Danke für den Tipp da hatte ich auch schon probiert,
aber ich empfange nur komplette Datensätze aus einem Formular so hoffe ich Json und die werden dann abgelegt oder so komplett verarbeitet. Dann ist die Verbindung schon wieder vorbei. |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Sollte aber mit Obigem einfach umsetzbar sein.
|
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Hallo !
also mein Projekt schreitet voran. Für das automatische aufbauen der Verbindung kann man den Parameter AutoStartSession nutzen. Dann wird der erste Kram erstmal erledigt.. so hoffe ich ... Kann mir jemand sagen an was das liegt ? Grüße Joachim Mein Formular liegt hier ![]()
Delphi-Quellcode:
Wenn ich nun das Formular bei mir Lokal mit dem TMS web, Server laufen lasse, dann kommt beim Kunden auch was an. Wen ich die Seite aber auf den Webserver Hochlade, dann sendet er nicht mehr und wird geblockt.
form1.WebHttpRequest1.URL := 'http://___url___/kontakt/index.html'+'?'+ sendstring;
form1.WebHttpRequest1.User := 'Webseite'; form1.WebHttpRequest1.Password := 'nopassword'; form1.WebHttpRequest1.Command := httpPost; // httpPUT; // httpPOST; // Form1.WebHttpRequest1.Headers.AddPair('Content-Type', 'application/x-www-form-urlencoded'); // Form1.WebHttpRequest1.Headers.Add('Accept', 'application/json'); Form1.WebHttpRequest1.Headers.AddPair('Content-Type', 'application/json'); // Form1.WebHttpRequest1.Headers.Add('Access-Control-Allow-Origin','*'); form1.WebHttpRequest1.PostData := ''; // sendstring; // form1.WebHttpRequest1.Execute; form1.WebHttpRequest1.Execute; Form1.Responsememo.Text := 'Fertig Ihre Anforderung wurde übertragen.' Meldung im Browser öffentlicher Web server Laden von gemischten aktiven Inhalten "http://__url__/kontakt/index.html?&PNNAME=MusterFrau&PVNAME=Musterine&PGE BDAT=01.01.1900&PTEL=06221138890&PBEMERK=Termin%20 Kardiologie&PFREITEXT=Bitte%20beschreiben%20sie%20 n%C3%A4her,%20um%20was%20es%20geht!&VERSICHERT=KAS SE&PD1=Termin&PD2=&PD3=Kardiologie&Position=" wurde blockiert. Kontaktform.js:1:453326 meldung im Browser Lokaler Webserver TMS web server Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 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