Heim  >  Artikel  >  Backend-Entwicklung  >  PHP imitiert Benutzer, die auf den Programmcode einer Webseite zugreifen

PHP imitiert Benutzer, die auf den Programmcode einer Webseite zugreifen

高洛峰
高洛峰Original
2016-11-29 15:55:021279Durchsuche

function httpget( $url, $followredirects=true ) {  
global $final_url;  
$url_parsed = parse_url($url);  
if ( emptyempty($url_parsed['scheme']) ) {  
    $url_parsed = parse_url('http://'.$url);  
}  
$final_url = $url_parsed;  
  
$port = $url_parsed["port"];  
if ( !$port ) {  
    $port = 80; //www.php.cn
}  
$rtn['url']['port'] = $port;  
  
$path = $url_parsed["path"];  
if ( emptyempty($path) ) {  
    $path="/";  
}  
if ( !emptyempty($url_parsed["query"]) ) {  
    $path .= "?".$url_parsed["query"];  
}  
$rtn['url']['path'] = $path;  
  
$host = $url_parsed["host"];  
$foundbody = false;  
  
$out = "get $path http/1.0 ";  
$out .= "host: $host ";  
$out .= "user-agent:      mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.8.1) gecko/20061010 firefox/2.0 ";  
$out .= "connection: close ";  
  
if ( !$fp = @fsockopen($host, $port, $errno, $errstr, 30) ) {  
    $rtn['errornumber'] = $errno;  
    $rtn['errorstring'] = $errstr;  
  
}  
fwrite($fp, $out);  
while (!@feof($fp)) {  
  
    $s = @fgets($fp, 128);  
    if ( $s == " " ) {  
        $foundbody = true;  
        continue;  
    }  
    if ( $foundbody ) {  
        $body .= $s;  
    } else {  
        if ( ($followredirects) && (stristr($s, "location:") != false) ) {  
            $redirect = preg_replace("/location:/i", "", $s);  
            return httpget( trim($redirect) );  
        }  
        $header .= $s;  
    }  
}  
  
fclose($fp);  
  
return(trim($body));


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn