php curl下载有复选框的文件

时间:2017-04-04 02:04:23

标签: php curl

我想下载这些包含http://www.pse.com.ph/stockMarket/marketInfo-marketActivity.html?tab=4复选框的文件,但我不知道在我的代码中要添加什么。

<?php

$dlurl = 'http://www.pse.com.ph/stockMarket/marketInfo-marketActivity.html?tab=4';

$saveTo = 'C:\Users\Test\Desktop\phpfiles\datena.pdf';

$fp = fopen($saveTo, 'w+');

if($fp == false){
    throw new Exception('Could not open:' .$saveTo);
}

$ch = curl_init($dlurl);

curl_setopt($ch, CURLOPT_FILE, $fp);

curl_exec($ch);

?>

1 个答案:

答案 0 :(得分:0)

该页面确实是一种形式。当您按下下载按钮时,它会在GET方法中发送表单,将浏览器更改为新的URL,如下所示:

http://www.pse.com.ph/stockMarket/marketInfo-marketActivity-marketReports.html?ajax=true&method=downloadMarketReports&ids=[%22PSE_DQTRT20173306%22]

ids参数包含一个或多个文档ID。如果您只选择一个复选框直接下载PDF,如果您选择多个,则服务器会为您提供一个包含所有选定文档的zip。

在您的代码中,您应该将网址更改为所需的网址。

我想你想下载所有文件。不是吗?

  1. You should download first within curl the webpage

  2. 之后,您需要使用正则表达式解析网页,以查找每个文档的IDS。 PHP Parse HTML code

  3. 当你有他们做了一个新的cURL(就像在1上使用的那样),下载网址和我之前发给你的所需的ID。