喜悦国际村 » PHP高级编程 » 请问关于使用fsockopen下载二进制文件问题

页: [1]
1252318962008-6-17 10:30 AM
请问关于使用fsockopen下载二进制文件问题

[php]
$host = 'www.xxxx.net';
$target = '/img/1/0/219/219442_2.gif';
$referer = 'http://www.xxxx.net'; //伪造HTTP_REFERER地址
$fp = fsockopen($host, 80, $errno, $errstr, 30);

$handle = fopen("new.gif", "wb");

$handle = fopen("new.gif", "wb");
if (!$fp){
echo "$errstr($errno)<br />\n";
}
else{
$out = "
GET $target HTTP/1.1
Host: $host
Referer: $referer
Accept:*/*
User-Agent:Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)
Connection:Keep-Alive\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)){
    $content .= fgets($fp, 1024);
}
explode("\r\n",$content,2);
fwrite($handle,$content[1]);
fclose($fp);

}

[/php]

代码如上 因为需要伪造一个referer 所以选择fsockopen
可是效率非常低,成功率也很低~
(用COPY函数则非常稳定,速度也可以)

诸位老师有什么高见吗??

谢谢

1252318962008-6-18 08:29 AM
有人帮忙吗

tongj2008-7-3 04:30 AM
Connection:Keep-Alivernrn";

改成CLOSE试试


查看完整版本: 请问关于使用fsockopen下载二进制文件问题


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.012519 second(s), 2 queries