![]() |
Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Data
Hallo vorab ich bin neu in dem HTTP Post Kram ...
Wie empfange ich Json Data aus einem Post per TWebHTTPRequest Post Ich habe den HTTP Server soweit geschrieben das er "normal" funktioniert. HTTp Get Habe POST und Options rausgefiltert. Aber wie komme ich jetzt an den Daten Stream ? Es werden Textdaten übergeben. Der Server besteht wie zu sehen hauptsächlich aus start Stop und der Beantwortung dedr Anfragen. Wenn ich es richtig verstehe sollte wenn der Aufbau der Verbindung fertig ist was ja wohl klappt eine Abfrage der Daten möglich sein, zumindest nachdem man sie akzeptiert hat. Wie Bringe ich den Client dazu mir die Daten im Textformat zu senden ? Muss ich ein Accept als Sendline zurück senden ? Wie erhalte ich die Infos über die Puffergröße ? Herzlichen Dank an Euch ... Grüße Joachim " RequestLine:OPTIONS /Kontakt/index.html HTTP/1.1 Host: 127.0.0.1:8080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:107.0) Gecko/20100101 Firefox/107.0 Accept: */* Accept-Language: de,en-US;q=0.7,en;q=0.3 Accept-Encoding: gzip, deflate, br Access-Control-Request-Method: POST Access-Control-Request-Headers: cache-control Referer: ![]() Origin: ![]() Connection: keep-alive Sec-Fetch-Dest: empty Sec-Fetch-Mode: cors Sec-Fetch-Site: cross-site "
Delphi-Quellcode:
unit WebserverUnit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Sockets, ComCtrls; type TForm1 = class(TForm) TcpServer1: TTcpServer; Memo1: TMemo; Start: TButton; Stop: TButton; StatusBar1: TStatusBar; Button1: TButton; Memo2: TMemo; IsOnline: TCheckBox; procedure StartClick(Sender: TObject); procedure StopClick(Sender: TObject); procedure TcpServer1Accept(Sender: TObject; ClientSocket: TCustomIpClient); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure TcpServer1Listening(Sender: TObject); procedure TcpServer1GetThread(Sender: TObject; var ClientSocketThread: TClientSocketThread); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; mypfad : String; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Stop.Click; form1.TcpServer1.Free; Application.Terminate; end; procedure TForm1.FormCreate(Sender: TObject); var pfad : String; begin pfad := GetCurrentDir + '/webDocs'; if not DirectoryExists(Pfad) then ForceDirectories(Pfad); pfad := GetCurrentDir + '/Err'; if not DirectoryExists(Pfad) then ForceDirectories(Pfad); end; procedure TForm1.StartClick(Sender: TObject); begin Form1.TcpServer1.Open; Form1.TcpServer1.Active := true; memo1.lines.add(Datetimetostr(now) + ' : Server Start '); isonline.Checked := Form1.TcpServer1.Active; if isonline.checked = false then Showmessage('Fehler beim Starten'); end; procedure TForm1.StopClick(Sender: TObject); begin Form1.TcpServer1.Close; Form1.TcpServer1.Active := false; memo1.lines.add(Datetimetostr(now) + ' : Server Stop '); isonline.Checked := Form1.TcpServer1.Active; if isonline.checked = true then Showmessage('Fehler beim Stoppen'); end; procedure TForm1.TcpServer1Accept(Sender: TObject; ClientSocket: TCustomIpClient); var rawData,Path,Agent,RawAgent:String; HttpPos,AgentPos:Integer; TmpStr,TmpStr1:String; RequestFile, RequestHeader:TStringList; I: Integer; DataText : TStream; lParamList: TStringStream; begin RawData:=' '; RequestFile := TStringList.Create; RequestHeader := TStringList.create; while ClientSocket.Connected do begin RawData := ClientSocket.Receiveln; memo1.Lines.add('RawLine:' + rawdata + '#Endline'); // Logfile while RawData <> '' do begin RequestHeader.add(RawData); RawData := ClientSocket.Receiveln; memo2.Text := ('RequestLine:' + RequestHeader.Text ); end; Sleep(100); for I := 0 to RequestHeader.Count -1 do begin if RequestHeader.Strings[i] = '' then begin Sleep(100); Continue; end; if Pos('User-Agent:', RequestHeader.Strings[i]) > 0 then begin RawAgent := RequestHeader.Strings[i]; AgentPos := Pos('User-Agent:',RawAgent); Agent := Copy(RawAgent,13,Length(RawAgent)-12); Form1.Memo1.Lines.Add('User-Agent : ' + Agent); end; if Copy(RequestHeader.Strings[i],1,3) = 'GET' then begin Form1.Memo1.lines.add(' GET Request'); HttpPos := Pos('HTTP',RequestHeader.Strings[i]); Path := Copy(RequestHeader.Strings[i],5,HttpPos -6); Form1.Memo1.lines.add('Request For Page : ' + Path); end; if Copy(RequestHeader.Strings[i],1,4) = 'POST' then begin Form1.Memo1.lines.add(' POST Request'); HttpPos := Pos('HTTP',RequestHeader.Strings[i]); Path := Copy(RequestHeader.Strings[i],6,HttpPos -6); Form1.Memo1.lines.add('Request For Page : ' + Path); if RequestHeader.Text = 'OPTIONS /Kontakt/index.html HTTP/1.1' then Begin // KOntaktdaten kommen Clientsocket.WaitForData(10); TmpStr1 := Clientsocket.Receiveln('#$D#$A'); if length(TmpStr1) > 0 then Memo1.Lines.add('Receive: ' + TmpStr1 ) ; End; // Accept Post end; if Copy(RequestHeader.Strings[i],1,7) = 'OPTIONS' then begin Form1.Memo1.lines.add(' Option Request'); HttpPos := Pos('HTTP',RequestHeader.Strings[i]); Path := Copy(RequestHeader.Strings[i],9,HttpPos -6); Form1.Memo1.lines.add('Option Page : << ' + Path + ' >>'); if Copy(RequestHeader.Strings[i],1,7) = 'OPTIONS' then Begin // KOntaktdaten kommen // Clientsocket.ReceiveFrom(mybuffer,length(mybuffer),); Clientsocket.WaitForData(10); TmpStr1 := Clientsocket.Receiveln('#$D#$A'); if length(TmpStr1) > 0 then Memo1.Lines.add('Receive: ' + TmpStr1 ) ; End; end; end; // Behandlung der HTTP Anfrage if FileExists(GetCurrentDir + '/WebDocs' + Path) then begin RequestFile.LoadFromFile(GetCurrentDir + '/WebDocs' + Path); ClientSocket.Sendln('HTTP/1.0 200 OK'); ClientSocket.Sendln(''); ClientSocket.Sendln(RequestFile.Text); ClientSocket.Close; RequestFile.Clear; Exit; end Else if Not FileExists(GetCurrentDir + '/WebDocs' + Path) then begin Form1.memo1.lines.add('ERROR : 404 Page Not Found : <<'+ Path + '>>'); RequestFile.LoadFromFile(GetCurrentDir + '/Err/' + '404.html'); ClientSocket.Sendln('HTTP/1.0 404 Not Found'); ClientSocket.Sendln(''); ClientSocket.Sendln(RequestFile.Text); ClientSocket.Close; RequestFile.Clear; Exit; end; end; RequestFile.Free; end; end. |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Woher kommt TTCPServer, ist das die Klasse TTcpServer aus Delphi 6?
![]() Falls ja, würde ich wie in der Antwort vorgeschlagen auf Indy, ICS oder Synapse (oder mORMot) umstellen. |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
Das ist aus Delphi 2007 das war der einfachste weg für mich. Ich stelle mir vor ich muss nur noch die richtige Antwort geben und den Stream herausfinden ... Das was gesendet wird ist einfache Strings ... Mein Problem war auch ich bin mit der Indy und dem TID Server 0 zurecht gekommen :-( da bin ich dann zum guten alten D2007 übergegangen ... |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
Das liegt möglicherweise auch daran: Zitat:
Zitat:
|
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Eigentlich habe ich ja schon dinge in Indy gemacht ...
Gibt es sorry wenn ich so frage ein Beispiel für POST JSON mit der Indy Server componente... Ich habe schon so viel durchgesucht ... Ich stelle mir das so vor Verbindung herstellen, Stream anbinden und daten erhalten ... Daten Parsen .... aber ich hänge voll ... Danke schon mal |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Den Input liest du ja bereits (HTTP-Header) ... danach kommt eine Leerzeile und dann die Daten (von deinem POST)
Nicht nur, dass dir eine HTTP-Komponente vieles abnimmt (Header parsen/lesen und beim Senden auch generieren) auch für HTTP/2 und HTTP/3, also z.B. HTTPS oder zukünftig QUIC müsstest du dann nichts selber bauen, weil sowas dann ja von Anderen eingebaut würde. PS: Mit HTTP/3 überlegt man sich von TCP auf UDP umzustellen. (ja, die ersten Webseiten und Browser können es schon ... testweise) ![]() Die HTTP-Komponente gibt dir einmal eine Header-Liste und auch die entsprechenden Streams vom Content (Input) und Response (zum Senden). |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Danke für die Hinweise ich sollte es dann sicher noch umstellen aber jetzt brauche ich eine schnelle Lösung für das Problem. Ich dachte die TMS Webcore kann FTP oder einfaches SMTP um die daten aus dem Webserver zu versenden aber nein. Ich muss HTTP Post machen und da habe ich nicht mit gerechnet. Und ich habe mich mit REST und HTTP Zeugs und so noch nicht wirklich beschäftigt. :-(
Zum Auslesen des Header ich denke auch das ich alles auslese aber da sind keine Daten, die müssten dann ja im TMEMO stehen Aber leider finde ich in dem Header die Daten nicht. Aber eigentlich lese ich doch alles aus. Kann es sein das die Sende Komponente noch was benötigt? Die Komponente ist die WebhttpRequest von TMS Web Core Kann es sein das ich da die schleife zu früh beende du sagtest es kommt eine Leerzeile ?
Delphi-Quellcode:
********if RequestHeader.Strings[i] = ''*then
**********begin ************Sleep(100); ************Continue; **********end;
Delphi-Quellcode:
sendstring := 'Data: ||' + PNName.Text +'||'+ pVName.Text + '||'+ pGebdat.Text+'||' +Bemerkung.text + '||'+ freitext.text;
form1.WebHttpRequest1.URL := 'http://127.0.0.1:8080/Kontakt/index.html'; form1.WebHttpRequest1.Command := httpPOST; form1.WebHttpRequest1.PostData := sendstring; form1.WebHttpRequest1.Execute(); |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Ich glaube mein
Delphi-Quellcode:
RawData := ClientSocket.Receiveln; // Liest nur bis zum Zeilenede aus ggf nicht alles
Rawdata := Clientsocket.ReceiveFrom() // das gibt es noch aber da ist mir nicht klar wie ich die Werte alle bekomme function TIpSocket.ReceiveFrom(var buf; bufsize: Integer; ToAddr: TSockAddr; var len: Integer; flags: Integer): Integer; buf ist klar (String/char Buffer ) aber Bufsize müsste ich doch vom Server bekommen ? toaddr ist das meine Lokale ? ..... |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
Du brichst vorher schon ab, da wo der Header ended. Zitat:
|
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
Stimmt aber ich hatte es nur weiter unten versucht weiter auszulesen das geht aber nicht da ich da ja schon abbreche Die Größe der Empfangenen Bytes kann ich ermitteln Statusbar1.SimpleText := inttostr(Clientsocket.BytesReceived); // = 490 Bytes diese könnte ich dann ja auslesen oder ? |
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 ![]() |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Nun ja, das Formular liegt hier "https://___url__/" und der Zielserver hier "http://___url___/".
Das sind gleich 3 Gründe, warum das nicht geht. Denn das Protokoll, die (Sub-)Domain und der Port müssen gleich sein. Oder du musst CORS entsprechend konigurieren. |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
setz mal in deinem HTTP-Server bei der Anfrage das hier:
Response.SetCustomHeader('Access-Control-Allow-Origin', '*'); |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
Ist es nicht immer so das ich von einem Laufenden Server auf einen anderen Server Daten bringe ? Was wäre denn der richtige bessere Weg die daten von einem öffentlichen Server auf einen Lokalen Empfänger zu bringen ? Wie kann ich den CORS Konfigurieren ? Die Einstellung / Parameter Response.SetCustomHeader('Access-Control-Allow-Origin', '*'); habe ich weder bei Get not bei others beim Indy idhttp server gefunden. Wenn ich mit INDY und dem Set suche finde ich auch nichts :-( Danke ! TMS hat mir folgendes geschrieben : ( und ich habe Ihnen die Konstallation geschrieben ) It will depend on what your server returns for this post request. The event WebHttpRequest.OnRequestResponse will return this data via ARequest object or AResponse:string if this is a text response. |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Das SetCustomHeader scheint es nur via WebBroker zu geben. Aber schau Mal nach AResponse.CustomHeader.Add(...).
|
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Da habe ich es mal reingesetzt aber der Syntax ist wohl anders ...
ich werde jetzt mal das Formular versuchen auch auf dem Webserver wo die Antwort hin geht zu hosten ... Aber das TMS mir nicht geschrieben hat das es ein Problem ist von Server a nach Server B ein Post zu senden finde ich krass. Und ich habe support bei denen ... traurig ... Ich danke dir sehr und halte euch auf dem laufenden ... |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Also bei mir hat das aus Post #22 geholfen.
Wenn du beides auf dem gleichen Server hostest, hast du aber immer noch unterschiedliche Ports? |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
( ich habe mir das deutlich leichter vorgestellt, immerhin die Daten hätte ich ja schon mal nur noch die Webseite ebenfalls senden ? ) Unterschiedliche Ports : nein es wären dann ja die gleichen Ports ich kommuniziere mit dem Webserver über 8080 sollte dann eigentlich gehen . Jetzt bekomme ich den Stream aber nicht rüber
Delphi-Quellcode:
if Fileexists(bfilename) then begin // memo1.Lines.Add('File gefunden nun senden '); if LowerCase(ExtractFileExt(afilename)) = '.html' then begin //AResponseInfo.ResponseNo := 200; //aresponseinfo.WriteContent; filestr1 := tfilestream.Create(bfilename,fmopenRead or fmsharecompat); // Tfilestream memo1.Lines.Add('Size :' + inttostr(filestr1.Size)); Aresponseinfo.ContentStream := filestr1 ; // tfilestream.Create(bfilename,fmopenRead or fmsharecompat); aresponseinfo.ContentLength := filestr1.Size; // da ist was da also größer 0 // aresponseinfo.WriteHeader; aresponseinfo.WriteContent; AResponseInfo.ContentStream.Free; AResponseInfo.ContentStream := nil; end; if not AResponseInfo.HeaderHasBeenWritten then begin // set error code AResponseInfo.ResponseNo := 404; aResponseInfo.ResponseText := 'Document not found'; // write header AResponseInfo.WriteHeader; end; // return content AResponseInfo.ContentText := 'The document requested is not availabe.'; AResponseInfo.WriteContent; end; |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Ehrlich gesagt werde ich aus deinem Programmcode (Testprojekt) nicht schlau. Was soll das Programm machen und wo ist das Problem?
|
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Liste der Anhänge anzeigen (Anzahl: 1)
So, probiere mal das beigefügte Beispiel mit dem Aufruf im Browser:
![]() Alles quick and dirty weitergemacht... |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Zitat:
Danke schon mal ! |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Liste der Anhänge anzeigen (Anzahl: 1)
Ja Cool ! ich habe wie schon geschrieben deinem Hinweis auch gefolgt.
Jetzt sieht das Bild / Seite nur noch etwas blöd aus Umlaute Problem ... Aber sonst scheint es zu funktionieren jetzt muss nur noch das Dirty weg ;-) Aber ich finde es schon komisch das man nicht auf einen anderen Server schicken kann .... Aber das ist sicher einer Sicherheit geschuldet. Ich habe früher auch lustig andere Programme gesteuert das ist auch nicht mehr so einfach ... Ah und du hast den Json auf das lokale Verzeichnis geschrieben ... OK Seit ich den Server Testweise immer mal an habe werfen sich die Häcknudeln wie Fliegen aufs Fleisch aber sie bekommen ja nix zurück ... Aber was da alles probiert wird. unglaublich. Danke an die Community und die tolle Unterstützung. Top ich arbeite mal noch verschiedenes ein ;-) Wie beeinflusse ich denn den Zeichensatz in Label? Wenn das mal läuft, dann .... Als weitere Schwierigkeit werde ich dann mal noch ein Unterschriftenfeld mit einpflegen ... Mal sehen wie das wird. |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Also das mit verschiedenen Servern geht auch. Wenn ich (nur) das hier in "CommandOther" reintue, dann geht das:
Delphi-Quellcode:
aresponseinfo.CustomHeaders.AddValue('Access-Control-Allow-Origin', '*');
aresponseinfo.CustomHeaders.AddValue('Access-Control-Allow-Headers', '*'); aresponseinfo.WriteHeader; |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Olli73
das werde ich doch gleich auch nochmal probieren. Das wäre mir auch sympathischer muss ich gestehen ich möchte ungern meinen Webserver als Formular Webserver nutzen .... vielen Dank dir ... ich werde dir mein fertiges Projekt per PN mal schreiben ... und hier den Quellcode des Servers, denn ich denke, das Problem gibt es öfter und ich habe mir wirklich im Internet 'nen Wolf gesucht .. Ich muss es nur noch besser Dokumentieren und etwas entschlacken ;-) DANKE |
AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
Hallo
an wenn wende ich mich oder wie mache ich es selbst den Link des Aufrufs zu ändern ? bzw unkenntlich zu machen ? also die URL ? Da google das nun in der suche findet ... :-( DAMNKE |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:49 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