@file(URL) mit PORT

Gamiaris

Grünschnabel
Hallo Leute,
kann mir jemand sagen wie ich eine URL mit Port aufrufe?
Dieser Code funktioniert ganz gut

PHP:
        if($aa_gateway=="gateway1")
        {
            $user = $aa_key;
            $uupw = $aa_pw;

            $script = @file("http://www.url.tld/gateway/index.php?login=".$user."&pw=".$uupw."&receiver=".urlencode($number)."&message=".urlencode($text)."");

            $out = "<font style=\"color:green\"><b>SMS in ".$number." send.</b></font>";
        }

wenn ich eine Url mit Port einfüge geht garnichts mehr.

PHP:
        if($aa_gateway=="gateway1")
        {
            $user = $aa_key;
            $uupw = $aa_pw;

            $script = @file("http://IP:8080/gateway/index.php?login=".$user."&pw=".$uupw."&receiver=".urlencode($number)."&message=".urlencode($text)."");

            $out = "<font style=\"color:green\"><b>SMS in ".$number." send.</b></font>";
        }

anscheinend unterstützt "@file" kein Port.
 
Du musst das über eine Socket-Verbindung via fsockopen() und HTTP machen. Das ganze mit file() ist auf vielen Servern nicht zugelassen und Ports werden dabei nicht unterstützt. Ich habe da mal eine Klasse für solche HTTP-Requests geschrieben. Mit dieser Klasse kann man eben die Ausgabe von anderen Servern abfragen und so zum Beispiel auch den ICQ-Status eines Users ermitteln. Bei Interesse kannst du dich ja mal per PM melden.
MfG, Andy
 
Das hat mich irgendwie interessiert, und ich habs einfach mal probiert :-(

Ergebnis: auch bei file() kann man den Port angeben(auch wenn dazu nirgends etwas steht)...zum Testen:

PHP:
<?php
echo implode(file('http://stream.livesets.com:8000/listen.pls')).'<hr>';
echo implode(file('http://stream.livesets.com/listen.pls'));
?>
 
Vielleicht reagiert der Server nicht auf Anfragen über diesen Port. Oder die Anfragemethode wird nicht unterstützt. Nimm doch mal den @-Operator weg, um mögliche Fehlermeldungen zu Gesicht zu bekommen.
 
Das hat mich irgendwie interessiert, und ich habs einfach mal probiert :-(

Ergebnis: auch bei file() kann man den Port angeben(auch wenn dazu nirgends etwas steht)...zum Testen:

PHP:
<?php
echo implode(file('http://stream.livesets.com:8000/listen.pls')).'<hr>';
echo implode(file('http://stream.livesets.com/listen.pls'));
?>
Danke aber ich bekomme eine Fehlermeldung

Warning: file(http://IP:8080/server/index.php?blabla&bla) [function.file]: failed to open stream: Connection refused in /public_html/dir/test.php on line 107

Warning: implode() [function.implode]: Argument must be an array in /public_html/dir/test.php on line 107
 
Vielleicht reagiert der Server nicht auf Anfragen über diesen Port. Oder die Anfragemethode wird nicht unterstützt. Nimm doch mal den @-Operator weg, um mögliche Fehlermeldungen zu Gesicht zu bekommen.

Warning: file(http://IP:8080/server/dir?login=user&password=pass&clientid=23445345&receiver=345234535&message=test) [function.file]: failed to open stream: Connection refused in /public_html/dir/test.php on line 107
Das kommt raus
 
Zurück