欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php模仿用户访问网页程序代码

程序员文章站 2022-06-03 14:23:48
...
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));
相关标签: php