HTTP Status Code

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Das Zauberwort heißt [phpdoc]fsockopen[/phpdoc]

    Beispiel:

    Quellcode

    1. <?php
    2. $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
    3. if (!$fp) {
    4. echo "$errstr ($errno)<br />\n";
    5. } else {
    6. $out = "GET / HTTP/1.1\r\n";
    7. $out .= "Host: www.example.com\r\n";
    8. $out .= "Connection: Close\r\n\r\n";
    9. fwrite($fp, $out);
    10. while (!feof($fp)) {
    11. echo fgets($fp, 128);
    12. }
    13. fclose($fp);
    14. }
    15. ?>
    Alles anzeigen


    Antwort:

    Quellcode

    1. HTTP/1.1 200 OK
    2. Date: Sat, 06 Jun 2009 15:48:09 GMT
    3. Server: Apache/2.2.3 (CentOS)
    4. Last-Modified: Tue, 15 Nov 2005 13:24:10 GMT
    5. ETag: "b80f4-1b6-80bfd280"
    6. Accept-Ranges: bytes
    7. Content-Length: 438
    8. Connection: close
    9. Content-Type: text/html; charset=UTF-8
    10. <HTML>
    11. <HEAD>
    12. <TITLE>Example Web Page</TITLE>
    13. </HEAD>
    14. <body>
    15. <p>You have reached this web page by typing &quot;example.com&quot;,
    16. &quot;example.net&quot;,
    17. or &quot;example.org&quot; into your web browser.</p>
    18. <p>These domain names are reserved for use in documentation and are not available
    19. for registration. See <a href="http://www.rfc-editor.org/rfc/rfc2606.txt">RFC
    20. 2606</a>, Section 3.</p>
    21. </BODY>
    22. </HTML>
    Alles anzeigen
  • Quellcode

    1. function get_HTTPStatusCode($url)
    2. {
    3. $url = trim($url);
    4. if($url == '')
    5. {
    6. return false;
    7. }
    8. $url = parse_url($url);
    9. $host = isset($url['host']) ? $url['host'] : '';
    10. $port = isset($url['port']) ? $url['port'] : 80;
    11. $path = isset($url['path']) ? $url['path'] : '/';
    12. $fp = fsockopen($host, 80, $errno, $errstr, 15);
    13. if(!$fp)
    14. {
    15. return false;
    16. }
    17. else
    18. {
    19. $head = '';
    20. $out = "GET $path HTTP/1.1\r\n";
    21. $out .= "Host: $host \r\n";
    22. $out .= "Connection: Close\r\n\r\n";
    23. fwrite($fp, $out);
    24. while(!feof($fp))
    25. {
    26. $head .= fgets($fp, 1024);
    27. }
    28. fclose($fp);
    29. preg_match("=^(HTTP/\d+\.\d+) (\d{3}) ([^\r\n]*)=", $head, $matches);
    30. return $matches[2];
    31. }
    32. }
    Alles anzeigen


    Genutzt wird das so:

    Quellcode

    1. echo get_HTTPStatusCode("http://www.easy-coding.de/index.php?form=PostEdit&postID=34454");


    Viel Spaß damit ...

    Möglicherweise interessant: php.de/php-einsteiger/46705-se…-abfragen.html#post359649

    OMG!!! Dank diesem Thread hab ich die Funktion wiedergefunden die ich jetzt sicher 1 Jahr lang vergebens gesucht habe! :P

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Torsten ()

  • So ...

    Quellcode

    1. function get_HTTPStatusCode($url)
    2. {
    3. $url = trim($url);
    4. if($url == '')
    5. {
    6. return false;
    7. }
    8. $url = parse_url($url);
    9. $host = isset($url['host']) ? $url['host'] : '';
    10. $port = isset($url['port']) ? $url['port'] : 80;
    11. $path = isset($url['path']) ? $url['path'] : '/';
    12. $query = isset($url['query']) ? '?'.$url['query'] : '';
    13. $fp = fsockopen($host, 80, $errno, $errstr, 15);
    14. if(!$fp)
    15. {
    16. return false;
    17. }
    18. else
    19. {
    20. $head = '';
    21. $out = "GET $path$query HTTP/1.1\r\n";
    22. $out .= "Host: $host \r\n";
    23. $out .= "Connection: Close\r\n\r\n";
    24. fwrite($fp, $out);
    25. while(!feof($fp))
    26. {
    27. $head .= fgets($fp, 1024);
    28. }
    29. fclose($fp);
    30. preg_match("=^(HTTP/\d+\.\d+) (\d{3}) ([^\r\n]*)=", $head, $matches);
    31. return $matches[2];
    32. }
    33. }
    Alles anzeigen


    Bitte schön! ;)