Please help modify the phpcurl to simulate the post request content and download the file. the following code uses curl to simulate the post request link and then directly displays the file content, how to modify it to download the request directly without displaying the content. what about torrent files?
Function curl_post ($ header, $ data, $ url) {$ ch = curl_init (); $ res = curl_setopt ($ ch, CURLOPT_URL, $ url); curl_setopt ($ ch, optional, 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); // you need to change the content to echo $ ret for file download;
Reply to discussion (solution)
Do not echo $ ret;
Write $ ret to the file. Save
Do not echo $ ret;
Write $ ret to the file. Save
Tried to use
Header ("Content-Type: application/force-download ");
$ Ret;
The PHP blank file is downloaded.
Use
$ Filename = $ ret;
Header ("Content-Type: application/force-download ");
Header ("Content-Disposition: attachment; filename =". basename ($ filename ));
Readfile ($ filename );
Download a bunch of PHP files with garbled characters.
The downloaded file name is defined as the suffix of. torrent. this seed is 5. Flights. Up.2014.LIMITED. 720p. BRRip. XviD. AC3-RARBG?
$ Ret = curl_post ($ header, $ data, $ url); // you need to change the content to file download $ filename = 'x. torrent '; header ("Content-Type: application/force-download"); header ("Content-Disposition: attachment; filename = $ filename"); echo $ ret;
The downloaded x. torrent is opened
$ Ret = curl_post ($ header, $ data, $ url); // you need to change the content to file download $ filename = 'x. torrent '; header ("Content-Type: application/force-download"); header ("Content-Disposition: attachment; filename = $ filename"); echo $ ret;
The downloaded x. torrent is opened
Thank you very much for the technical support provided by the xuzuning moderator and BingoVictor. I used File A to obtain the requested content, then downloaded file A with file B, and customized the name and suffix.
The method provided by the moderator is more efficient and convenient. Thank you.