php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 26.08.2004, 15:50  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard HTTP - Request

Hallo,

mit den Socket Funktionen kann ich einen HTTP - Request an den Server meiner Wahl senden. Kann ich dem Server auch ein Script schicken, das dieser ausführt, und die Antwort dann in PHP weiterverarbeiten??
Stümper ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 26.08.2004, 16:00  
Gast
 
Beiträge: n/a
Standard

NEIN! Überlege mal was das für Konsequenzen hätte!!

Was du machen kannst wenn du eine Datei auf dem anderen Server erstellst:

PHP-Code:
<?PHP
     
// Nur wenn die Anfrage von deinem Server kommt
     
if( $_SERVER['REMOTE_ADDR'] == "123.456.789.123" ) { 
         
// Befehle ausführen
         
eval($_POST['befehle']);
     } else {
         
// Kein Zugriff
         
die("Zugriff verweigert!");
     }
?>

wenn du dann z.b. diesem Dokument per POST echo("hallo"); schickst führt es das aus. wichtig ist dass du auch immer am ende eines befehls ein Strichpunkt machst!
 
Alt 26.08.2004, 16:30  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard Frage

also ich habe mir aus dem Netz ein Script geholt, mit dem über die Socket Methoden eine Verbindung zu einem Server aufgebaut werden kann. Das funktioniert auch mit dem Server meiner Wahl.

Nun möchte ich einen GET Request senden, um eine datei zurückzubekommen, die dort auf dem Server liegt. Doch der Get - Request funktioniert nicht.

was mache ich falsch?

Der Browser meldet, er würde das Dokument nicht finden.

Darf ich hier eine URL reinschreiben oder muss ich hier die interne Adresse des Servers verwenden?
Stümper ist offline  
Alt 26.08.2004, 16:36  
Gast
 
Beiträge: n/a
Standard

das ist ja mal nen geiler Code...

Zeig mal den vollständigen bitte. Ich glaube mit curl kann man das machen...
 
Alt 26.08.2004, 16:41  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard GET geht nicht

also mit dem HEAD Request funktioniert alles tadellos (www.example.com ist übrigens ein Platzhalter), mit GET Request geht gar nichts. Wieso?

Code:
<?php
set_time_limit ();
error_reporting (E_ALL);

echo "<h2>TCP/IP Verbindung</h2>\n";

/* Den Port des WWW-Dienstes holen. */
$service_port = getservbyname ('www', 'tcp');

/* Die IP-Adresse des Zielhosts holen. */
$address = gethostbyname ('www.example.com');

/* einen TCP/IP Socket erzeugen. */
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if ($socket < 0) {
    echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror ($socket) . "\n";
} else {
    echo "OK.\n";
}

echo "Versuche, eine Verbindung zu '$address' auf Port  '$service_port' aufzubauen ...";
$result = socket_connect ($socket, $address, $service_port);
if ($result < 0) {
    echo "socket_connect() fehlgeschlagen.\nGrund: ($result) " . socket_strerror($result) . "\n";
} else {
    echo "OK.\n";
}

// $in = "HEAD / HTTP/1.0\r\n\r\n";
$in = "GET / HTTP/1.1";
$out = '';

echo "Einen HTTP HEAD Request senden ...";
socket_write ($socket, $in, strlen ($in));
echo "OK.\n";

echo "Die Antwort lesen:\n\n";
while ($out = socket_read ($socket, 2048)) {
    echo $out;
}

echo "Den Socket schliessen ...";
socket_close ($socket);
echo "OK.\n\n";
?>
Stümper ist offline  
Alt 26.08.2004, 21:18  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard Was ist den falsch?

Besteht der Fehler darin, dass ich die GET Methode falsch aufgerufen habe? Stimmt die Syntax nicht? Enthält der String zuwenig Angaben?
Stümper ist offline  
Alt 27.08.2004, 08:14  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard ?

Und warum will niemand einem dummen, kleinen Stümper helfen?
Stümper ist offline  
Alt 27.08.2004, 22:38  
Erfahrener Benutzer
 
Registriert seit: 30.06.2004
Beiträge: 619
tapferesschneiderlein
Standard

Der HTTP-Server möchte gern den Dateinamen hinter GET wissen, also

GET /test/test.html HTTP/1.1

Diesen Request mußt Du an www.test.ch bzw. gleich die entspechende IP schicken. Damit der Server auch weiß, aus welchem Verzeichnis /test er die Datei holen soll, mußt Du dann (nach RFC) noch den Hostnamen angeben:

Host: www.test.ch

Ich habe mich damit damals auch sehr lange rumgequält ... bis ich curl entdeckt habe ...
tapferesschneiderlein ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Was ist mit GET http request gemeint? cyberholic PHP Tipps 2008 6 03.05.2008 12:09
HTTP Request über Proxyserver leiten blaus PHP-Fortgeschrittene 4 04.04.2008 07:59
HTTP Request per PHP lahmt, Rückgabe nur NULL Schaelle PHP-Fortgeschrittene 0 21.09.2005 16:42
HTTP request failed! HTTP/1.1 403 Forbidden in... PHP Tipps 2005-2 5 04.07.2005 01:46
[Erledigt] HTTP Request absetzen und Antwort auswerten PHP-Fortgeschrittene 1 02.07.2005 13:16
HTTP request failed! PHP Tipps 2005-2 20 19.06.2005 02:28
script nicht über HTTP Request seven-12 PHP Tipps 2005-2 6 10.06.2005 12:45
php script nicht über HTTP Request starten seven-12 PHP-Fortgeschrittene 3 09.06.2005 22:14
HTTP request failed! HTTP/1.1 500 Internal Server Error Datenbanken 6 28.01.2005 14:54
HTTP Login Request PHP Tipps 2004-2 1 16.12.2004 12:30
HTTP Request - hilfe dringend benötigt! PHP Tipps 2004-2 3 09.11.2004 20:23
Shoutcast server abfrage mittels ein http header request PHP Tipps 2004 0 30.10.2004 18:05
ankommender http header in einem php script auslesen PHP Tipps 2004 0 19.07.2004 23:37
http header verändern - script zum browser machen PHP Tipps 2004 11 06.07.2004 17:43
HTTP Post mit PHP (Stream Funktionen) PHP-Fortgeschrittene 12 04.06.2004 11:16

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php http request senden, http/request.php, \http/request.php\, http request mit php senden, php httprequest funktioniert nicht, php https anfrage starten, php head request ausführen, httprequest php funktioniert nicht, php http befehle senden, 2 zugriffe per http aufruf, php tcp socket example, get request php, server reguest befehle php, html request an ip senden, http request versenden, html request befehle senden, php http request testen, http request php, rückgabewert aus shoutcast weiterverarbeiten php, http request platzhalter weiterverarbeiten

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:38 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.