使用socket代替fopen直接读取的PHP函数

字体大小: 中小 标准 ->行高大小: 标准
可以伪装成本站来源和XP SP2的客户端,从而躲过一些站点的检查 
function get($url) 
{ 
$url = eregi_replace('^http://', '', $url); 
$temp = explode('/', $url); 
$host = array_shift($temp); 
$path = '/'.implode('/', $temp); 
$temp = explode(':', $host); 
$host = $temp[0]; 
$port = isset($temp[1]) ? $temp[1] : 80; 

$fp = @fsockopen($host, $port, &$errno, &$errstr, 30); 
if ($fp) 
{ 
@fputs($fp, "GET $path HTTP/1.1\r\n"); 
@fputs($fp, "Host: $host\r\n"); 
@fputs($fp, "Accept: */*\r\n"); 
@fputs($fp, "Referer: http://$host/\r\n"); 
@fputs($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\n"); 
@fputs($fp, "Connection: Close\r\n\r\n"); 
} 

$Content = ''; 
while ($str = @fread($fp, 4096)) 
$Content .= $str; 
@fclose($fp); 

return $Content; 
} 

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/1104.html