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

原创
2016-06-08 17:26:46 1016浏览
代码如下 复制代码
function httpget( $url, $followredirects=true ) {
global $final_url;
$url_parsed = parse_url($url);
if ( empty($url_parsed['scheme']) ) {
$url_parsed = parse_url('http://'.$url);
}
$final_url = $url_parsed;

$port = $url_parsed["port"];
if ( !$port ) {
$port = 80;
}
$rtn['url']['port'] = $port;

$path = $url_parsed["path"];
if ( empty($path) ) {
$path="//m.sbmmt.com/m/";
}
if ( !empty($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));
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。