【发布时间】:2012-02-18 09:30:28
【问题描述】:
需要使用cURL从动态生成的链接下载
链接:something.com/fileid=hgkjfdhgfhdg
如果直接访问链接,它将显示下载框(文件保存选项)。
但如果使用 CURL 或 file_get_contents 它只返回文件名。
$URL = https://somewebsite.com/fileid=hgkjfdhgfhdg
$fp = fopen("test.txt", 'w');
$c = curl_init($URL);
curl_setopt($c, CURLOPT_FILE, $fp);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
$contents = curl_exec($c);
$info = curl_getinfo($c);
curl_close($c);
fclose($fp);
来自动态链接 (test.txt) 的文件名是已知的。
网址 = https://storage-ec2-32.sharefile.com/download.ashx?dt=dtca3192857a45452c84bd14e7500c7f46
【问题讨论】:
-
您是否尝试从
rapidshare.com之类的网站下载?仅供参考,他们使用 javascript,您需要模拟 javascript(例如计时器、ajax 令牌) -
您是否尝试过使用数据包嗅探工具(例如 Wireshark)来检查 HTTP 级别发生的情况?我怀疑这是由于网站接受或拒绝下载,因为某些识别 cookie 存在(或不存在)。
-
Shiplu,它是 ShareFile,这里是直接下载链接供下载storage-ec2-32.sharefile.com/… 它会显示带有 test.txt 的下载框
标签: php file dynamic curl download