下面代码使用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请求内容后并下载文件的解决思路,希望大家喜欢,请持续关注本站,本站每天都有新的内容更新,谢谢。!