下面代码使用curl模拟post请求链接后直接显示出了文件内容,如何修改成不显示内容而直接下载请求到的.torrent格式文件呢
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
function curl_post( $header , $data , $url )
{
$ch = curl_init();
$res = curl_setopt ( $ch , CURLOPT_URL, $url );
curl_setopt( $ch , CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt( $ch , CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ( $ch , CURLOPT_HEADER, 0);
curl_setopt( $ch , CURLOPT_POST, 1);
curl_setopt( $ch , CURLOPT_POSTFIELDS, $data );
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch ,CURLOPT_HTTPHEADER, $header );
$result = curl_exec ( $ch );
curl_close( $ch );
if ( $result == NULL) {
return 0;
}
return $result ;
}
$url = 'http://www.bttiantang.com/download4.php' ;
$header = array ( "Host:www.bttiantang.com" ,
"Content-Type:application/x-www-form-urlencoded" ,
'User-Agent: Mozilla/4.0 (compatible; MSIE .0; Windows NT 6.1; Trident/4.0; SLCC2;)' );
$data = 'action=download&id=26881&uhash=eecf3d3071a7b672c314bc39' ;
$ret = curl_post( $header , $data , $url );
//需将内容显示修改为文件下载
echo $ret ;
|
------解决思路----------------------
不要echo $ret;
把$ret写入文件中去。保存起来
------解决思路----------------------
1
2
3
4
5
6
|
$ret = curl_post( $header , $data , $url );
//需将内容显示修改为文件下载
$filename = 'x.torrent' ;
header( "Content-Type: application/force-download" );
header( "Content-Disposition: attachment; filename=$filename" );
echo $ret ;
|
下载的 x.torrent 用迅雷打开为
本文给大家分享了求帮忙修改个php curl模拟post请求内容后并下载文件的解决思路,希望大家喜欢,请持续关注本站,本站每天都有新的内容更新,谢谢。!