Zum Inhalt springen

PHP seite aufrufen und rückgabe in variable speichern


Gast alexC++

Empfohlene Beiträge

Hallo,

ich möchte eine seite aufrufen mit parametern welche

mir dann ein ergebnis zurück liefert.

mit diesem ergebnis (string oder xml-datei) will ich dann

weiter arbeiten.

kann mir einer erklären wie ich das anstelle?

wäre nett!

gruß

alex

Link zu diesem Kommentar
Auf anderen Seiten teilen

habe folgenden code:


<?php

        echo "anfang";

            $url = "http://192.168.1.108:8080/test/auth?user=aba&password=123";

            $request = new HttpRequest($url, HttpRequest::METH_GET);

echo "nach request";

            $result = $request->send();

           var_dump($result);


        echo "ende";

        ?>

nach request wird nicht ausgegeben, was habe ich denn

noch nicht richtig?

gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

hallo,

da müsste ich noch einige packete installieren.

gibt es noch einen anderen weg an das "ergbnis"

der seite zu kommen?

es wird lediglich ein string zurück gegeben.

ich probier mal fsockopen aus: folgende fehlermeldung erscheint:

Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (550320020)

gruß

Bearbeitet von alexC++
Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Meldung besagt, dass er versucht via Socket eine "http" Verbindung aufzubauen und das geht nicht.

Sockets liegen bildlich unterhalb der http Verbindung, d.h. Du musst alles (!) selbst erledigen. fsocketopen funktioniert wie ein Filestream, nur dass eben hier ein Hostname und ein Port, der in Deinem Fall 80 lautet, da http, verwendet wird.

Du musst eben über den Socket den http Header senden, der das Script mit Parametern aufruft und die dann enthaltenen Daten empfängt, d.h. http Kommunikation nachbauen

Alternativ würde ich HTTP_Client verwenden, das man aber installieren muss

Link zu diesem Kommentar
Auf anderen Seiten teilen


error_reporting(E_ALL|E_STRICT);


         $url = "192.168.1.108/test/auth?user=abla&password=123";


        $fp = fsockopen($url, 8080, $errno, $errstr, 1);

        if (!$fp) {

            echo "$errstr ($errno)<br />\n";

        } else {

             while (!feof($fp)) {

                echo fgets($fp, 128);

            }

            fclose($fp);

        }

bekomme nun den fehler:

php_network_getaddresses: getaddrinfo failed: Name or service not known (0)

wenn ich die url in den browser gebe funktioniert es wunderbar

Bearbeitet von alexC++
Link zu diesem Kommentar
Auf anderen Seiten teilen

php_network_getaddresses: getaddrinfo failed: Name or service not known (0)

Du versucht auf Port 0 zu connecten und dort läuft kein passender Dienst

wenn ich die url in den browser gebe funktioniert es wunderbar

Du arbeitest bei einem Socket aber nicht auf URL Ebene sondern Du kennst nur (!) einen Host und einen Port. An einem Socket gibt keine URL wie in Deinem Fall

Bearbeitet von flashpixx
Link zu diesem Kommentar
Auf anderen Seiten teilen

das würde ich verstehen, wenn ich beim port 0

angegeben hätte anstatt 8080

ok also kann ich da nur 192.168.1.108 angeben.

und wie ruf ich dann die ensprechende seite auf, (mit pfadangabe)

von der ich das ergebnis haben möchte?

gruß

Bearbeitet von alexC++
Link zu diesem Kommentar
Auf anderen Seiten teilen

Du musst verstehen was ein Socket ist und dann eben darüber die Daten übertragen. Da Du hier einen http Server hast, musst Du eben die Spezifikation des Protokolls lesen und umsetzen, damit der Webserver die Anfrage verarbeiten kann.

Du musst eben über den Socket einen passenden Header mit den Daten zur URL und Parametern übertragen und dann die Antwort lesen und verarbeiten

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...