AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Data
Thema durchsuchen
Ansicht
Themen-Optionen

Ich habe einen TCPServer als HTTP server und möchte daten aus einem POST JSON Data

Ein Thema von joehd · begonnen am 12. Dez 2022 · letzter Beitrag vom 10. Jan 2023
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#21

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

  Alt 30. Dez 2022, 15:07
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.

Geändert von Daniel (10. Jan 2023 um 11:41 Uhr) Grund: URL auf Wunsch des Fragestellers entfernt.
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#22

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

  Alt 30. Dez 2022, 15:42
setz mal in deinem HTTP-Server bei der Anfrage das hier:

Response.SetCustomHeader('Access-Control-Allow-Origin', '*');
  Mit Zitat antworten Zitat
joehd

Registriert seit: 8. Okt 2008
Ort: Heidelberg
109 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#23

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

  Alt 2. Jan 2023, 00:23
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.
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof

Geändert von Daniel (10. Jan 2023 um 11:42 Uhr) Grund: URL auf Wunsch des Fragestellers entfernt.
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#24

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

  Alt 2. Jan 2023, 07:22
Das SetCustomHeader scheint es nur via WebBroker zu geben. Aber schau Mal nach AResponse.CustomHeader.Add(...).
  Mit Zitat antworten Zitat
joehd

Registriert seit: 8. Okt 2008
Ort: Heidelberg
109 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#25

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

  Alt 2. Jan 2023, 10:14
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 ...
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#26

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

  Alt 2. Jan 2023, 10:18
Also bei mir hat das aus Post #22 geholfen.

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

Registriert seit: 8. Okt 2008
Ort: Heidelberg
109 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#27

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

  Alt 2. Jan 2023, 12:25
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)) = '.htmlthen
      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;
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof
  Mit Zitat antworten Zitat
joehd

Registriert seit: 8. Okt 2008
Ort: Heidelberg
109 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#28

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

  Alt 2. Jan 2023, 12:29
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 ..
Angehängte Dateien
Dateityp: 7z indywebserver.7z (55,4 KB, 3x aufgerufen)
joe
immer wenn ich was suche finde ich es hier komisch oder ?
Arbeite mit D3 D5 D2007 DXE Prof
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#29

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

  Alt 2. Jan 2023, 16:43
Ehrlich gesagt werde ich aus deinem Programmcode (Testprojekt) nicht schlau. Was soll das Programm machen und wo ist das Problem?
  Mit Zitat antworten Zitat
Benutzerbild von Olli73
Olli73

Registriert seit: 25. Apr 2008
Ort: Neunkirchen
741 Beiträge
 
#30

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

  Alt 2. Jan 2023, 17:38
So, probiere mal das beigefügte Beispiel mit dem Aufruf im Browser: http://localhost:8080/kontakt.html

Alles quick and dirty weitergemacht...
Angehängte Dateien
Dateityp: rar DelphipraxisIndyWebserver.rar (223,7 KB, 11x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      

 

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 16:23 Uhr.
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