页:
[1]
| 125231896 | 2008-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函数则非常稳定,速度也可以)
诸位老师有什么高见吗??
谢谢 |
| 125231896 | 2008-6-18 08:29 AM |
|
| 有人帮忙吗 |
|
Connection:Keep-Alivernrn";
改成CLOSE试试 |
Powered by Discuz! Archiver 6.1.0
© 2001-2006 Comsenz Inc.
Processed in 0.012519 second(s), 2 queries |