| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 30.07.2004
Beiträge: 255
![]() | 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? Code: GET http://www.test.ch/test/test.html HTTP/1.1 Darf ich hier eine URL reinschreiben oder muss ich hier die interne Adresse des Servers verwenden? |
| |
| | |
| Erfahrener Benutzer Registriert seit: 30.07.2004
Beiträge: 255
![]() | 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";
?>
|
| |
| | |
| Erfahrener Benutzer Registriert seit: 30.06.2004
Beiträge: 619
![]() | 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 ... |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ä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 | |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.