MrSchmidtdtdtdtdt: POST-Request an externe URL senden?

Hallo!

Ich würde gerne einen automatisierten (Kein Formular mit <submit> bzw. die Aktion soll für den Benutzer unsichtbar sein) HTTP-POST-Request an einen externen (unterliegt nicht meiner Kontrolle) Server senden. Für meine aktuelle Lösung verwende ich AJAX in Kombination mit einem PHP-Proxy, um die Same-Origin-Problematik zu umgehen. Das Problem hierbei ist, dass ich am Ende eine URL ausgespuckt bekomme, die nur aus dem Netzwerk des Servers aufgerufen werden darf. (IP wird vom Anbieter überprüft & da mein Server als Proxy fungiert, ist der Link nur im selben Netzwerk gültig.)

Welche Optionen bieten sich, bzw. welche Technologie bietet sich an? Ggf. ein Java-Applet, dass den Request clientseitig abschickt?

Beste Grüße, Mr. Schmidtdt

  1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

    Das Problem hierbei ist, dass ich am Ende eine URL ausgespuckt bekomme, die nur aus dem Netzwerk des Servers aufgerufen werden darf. (IP wird vom Anbieter überprüft & da mein Server als Proxy fungiert, ist der Link nur im selben Netzwerk gültig.)

    Bahnhof?

    Was nimmt der requestete Server an?
    Was darf der eigene Server?

    Grüße
    Euer Robert
    robert.r@online.de

    --
    Möge der wahre Forumsgeist ewig leben!
    1. Hi!

      Das Problem hierbei ist, dass ich am Ende eine URL ausgespuckt bekomme, die nur aus dem Netzwerk des Servers aufgerufen werden darf. (IP wird vom Anbieter überprüft & da mein Server als Proxy fungiert, ist der Link nur im selben Netzwerk gültig.)

      Bahnhof?

      Nach besagtem POST-Request, liefert der externe Server einen Link zurück, der (mittels Hash) sicherstellt, dass dieser nur gültig ist, wenn er von der selben IP (Die, die den POST-Request gesendet hat) aufgerufen wird. Meine Anwendung funktioniert, jedoch nur aus meinem eigenen Netzwerk. Das ist mein Problem.

      Was nimmt der requestete Server an?

      An besagter Stelle, möchte er eine POST-Anfrage mit 2 Parametern bekommen

      Was darf der eigene Server?

      Alles, jedoch liegt hier auch mein Problem. Sobald ich hier irgendwelche Daten abgreife, wird die IP geloggt & alle weiteren Daten sind daran gebunden. Ich möchte, dass die Nutzer meiner Anwendung, nicht erst einen eigenen lokalen PHP-Server aufsetzen müssen. Das Ganze muss also 100%-clientseitig ablaufen.

      Edit: Nochmal etwas klarer formuliert: Ich möchte einen Cross-Origin-POST-Request abschicken. Dabei darf nichts umgeleitet werden (keine Proxys) und das Ganze muss in nem Browser laufen.

      Grüße, Mr. Schmidtdtdt

      1. Liebe Mitdenker, liebe Wissende, liebe Neugierige,

        Das Problem hierbei ist, dass ich am Ende eine URL ausgespuckt bekomme, die nur aus dem Netzwerk des Servers aufgerufen werden darf. (IP wird vom Anbieter überprüft & da mein Server als Proxy fungiert, ist der Link nur im selben Netzwerk gültig.)

        Bahnhof?
        Nach besagtem POST-Request, liefert der externe Server einen Link zurück, der (mittels Hash) sicherstellt, dass dieser nur gültig ist, wenn er von der selben IP (Die, die den POST-Request gesendet hat) aufgerufen wird. Meine Anwendung funktioniert, jedoch nur aus meinem eigenen Netzwerk. Das ist mein Problem.

        Was nimmt der requestete Server an?
        An besagter Stelle, möchte er eine POST-Anfrage mit 2 Parametern bekommen

        Was darf der eigene Server? Alles, jedoch liegt hier auch mein Problem. Sobald ich hier irgendwelche Daten abgreife, wird die IP geloggt & alle weiteren Daten sind daran gebunden. Ich möchte, dass die Nutzer meiner Anwendung, nicht erst einen eigenen lokalen PHP-Server aufsetzen müssen. Das Ganze muss also 100%-clientseitig ablaufen.

        Verstehe ich immer noch nicht. Wenn es deine Anwendung ist, kann die doch von deinem Server geladen werden. Und wenn der Post-Request auf den fremden Server legal ist, kann sich doch dein Server auch darum kümmern.

        Und wenn Du eine Applikation für Andere erstellst, können die das mit ihrem Server genauso machen

        Spirituelle Grüße
        Euer Robert
        robert.r@online.de

        --
        Möge der wahre Forumsgeist ewig leben!
        1. Verstehe ich immer noch nicht. Wenn es deine Anwendung ist, kann die doch von deinem Server geladen werden. Und wenn der Post-Request auf den fremden Server legal ist, kann sich doch dein Server auch darum kümmern.

          Und wenn Du eine Applikation für Andere erstellst, können die das mit ihrem Server genauso machen

          Der am Ende gewonnene Link ist ein Videostream. Ich würde hier (Latenz & Co) eine Direktverbindung zum jeweiligen Client bevorzugen.

          1. Moin!

            Verstehe ich immer noch nicht. Wenn es deine Anwendung ist, kann die doch von deinem Server geladen werden. Und wenn der Post-Request auf den fremden Server legal ist, kann sich doch dein Server auch darum kümmern.

            Und wenn Du eine Applikation für Andere erstellst, können die das mit ihrem Server genauso machen

            Der am Ende gewonnene Link ist ein Videostream. Ich würde hier (Latenz & Co) eine Direktverbindung zum jeweiligen Client bevorzugen.

            Wenn der Server einen Link generiert, der nur von der IP abgerufen werden kann, die auch den ersten POST gesendet hat, dann:

            • kann dein Server Proxy für beide Requests spielen.
            • könnte man auch ein POST-Formular an den Browser senden, und der sendet dann den POST von seiner IP und kriegt die Direktverbindung zum Stream.
            • kann man wegen der Cross-Domain-Problematik bzw. der mutmaßlichen Nicht-Unterstützung von CORS aber eben keinen Ajax-POST-Request direkt schicken.

            Grüße Sven

  2. Tach,

    Ich würde gerne einen automatisierten (Kein Formular mit <submit> bzw. die Aktion soll für den Benutzer unsichtbar sein) HTTP-POST-Request an einen externen (unterliegt nicht meiner Kontrolle) Server senden. Für meine aktuelle Lösung verwende ich AJAX in Kombination mit einem PHP-Proxy, um die Same-Origin-Problematik zu umgehen. Das Problem hierbei ist, dass ich am Ende eine URL ausgespuckt bekomme, die nur aus dem Netzwerk des Servers aufgerufen werden darf. (IP wird vom Anbieter überprüft & da mein Server als Proxy fungiert, ist der Link nur im selben Netzwerk gültig.)

    Welche Optionen bieten sich, bzw. welche Technologie bietet sich an? Ggf. ein Java-Applet, dass den Request clientseitig abschickt?

    es gibt noch Browser mit Java-Plugin? Hilft aber eh nicht, Plugins implementieren auch die SOP. Spricht etwas dagegen ein Formular einzubauen, dass auf die externe Seite zeigt und dieses per Javascript automatisiert abzuschicken?

    mfg
    Woodfighter

    1. Hi!

      es gibt noch Browser mit Java-Plugin?

      Scheinbar sind Applets in der Tat nicht mehr so gängig.. ich stelle das auch gerade fest! :p

      Spricht etwas dagegen ein Formular einzubauen, dass auf die externe Seite zeigt und dieses per Javascript automatisiert abzuschicken?

      Leider ist die "Ergebnisseite" des besagten POST-Requests noch nicht das Ende vom Lied. Hier muss erst noch ein bestimmter Link extrahiert werden. :/

      Hintergrund: Ich schreibe eine Art "Wrapper" für eine beliebte Streaming-Seite.. statt 100 Popups, Werbung & Wartezeit, soll hier mit einem Klick direkt die Stream-URL geladen werden.

      1. Tach,

        Hintergrund: Ich schreibe eine Art "Wrapper" für eine beliebte Streaming-Seite.. statt 100 Popups, Werbung & Wartezeit, soll hier mit einem Klick direkt die Stream-URL geladen werden.

        du kannst natürlich theoretisch auch den Proxy für das Video spielen, allerdings ist das was du machst natürlich justiziabel entweder vom nicht genannten anderen Serverbetreiber oder vom eigentlichen Urheber bzw. Verwertungsrechtebesitzer. Da würde ich gegen Werbung und Popups eher auf einen gut eingerichteten Browser setzen.

        mfg
        Woodfighter