Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Data (https://www.delphipraxis.net/212067-ich-habe-einen-tcpserver-als-http-server-und-moechte-daten-aus-einem-post-json-data.html)

Olli73 30. Dez 2022 14:07

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.

Olli73 30. Dez 2022 14:42

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', '*');

joehd 1. Jan 2023 23:23

AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
 
Zitat:

Zitat von Olli73 (Beitrag 1516807)
Nun ja, das Formular liegt hier "https://__url1__/" und der Zielserver hier "http://___url2__/".

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 konfigurieren.

Hallo erst mal Danke für die Antwort.

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.

Olli73 2. Jan 2023 06:22

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(...).

joehd 2. Jan 2023 09:14

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 ...

Olli73 2. Jan 2023 09:18

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?

joehd 2. Jan 2023 11:25

AW: Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Da
 
Zitat:

Zitat von Olli73 (Beitrag 1516860)
Also bei mir hat das aus Post #22 geholfen.

Wenn du beides auf dem gleichen Server hostest, hast du aber immer noch unterschiedliche Ports?

Post #22 werde ich nochmal bearbieten
( 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;

joehd 2. Jan 2023 11:29

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:

Zitat von Olli73 (Beitrag 1516809)
setz mal in deinem HTTP-Server bei der Anfrage das hier:

Response.SetCustomHeader('Access-Control-Allow-Origin', '*');

ich lade hier den Source mal hoch vielleicht fällt jemandem was dazu ein es ist wirklich furchtbar und ich habe das Internet schon wund gesucht ..

Olli73 2. Jan 2023 15:43

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?

Olli73 2. Jan 2023 16:38

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: http://localhost:8080/kontakt.html

Alles quick and dirty weitergemacht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.
Seite 3 von 4     123 4      

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