我有一个类似下面的表格。
我想使用php下载pdf文件,我对CURL有一些经验,但我无法让它工作。 CURL请求应该是什么样的,如何在请求完成后下载文件?
<form action="https://ems.ms.gov.pl/krs/danepodmiotu.form" method="post" >
<input value="H4sIAAAAAAAAAJVSv2sUQRj9shAIOfyBYBGiUeHOKsyJmEYb44XIwSHBQ6xEZnc/13Fn5xtnZm/2Umjj3yBIIH+BpIptmhTpbPwL/ANsLAIBC2c3iphDL5nue3xv3nsz7+M3mPWLsJAb213jCjcoLQS58m7yEpM8psoaWCGTMa55gJjjGq0z4xWWkEEpYhZzi2w1DiBP3LpAmbaH6ErdebLf+nr54EcEMwNoJaScIfmIF+jg0uAVH/Gu5CrrDp0RKrtXaQdzvzWnGVo9q6ENQwlaOyzjQlgrSO3vpHdeHG5/jgAq7a/C4j/lnt+yr+ENgIP5P9AURk2Y9Tfg2uTOpiSVkxeYGZGGKMtasoxGrLAMNWce46TQIUqhSaFylj0Me73SOirat0fvtzp5e7lz7PomtKfczwx5G0R6/32vE2KPA+f4B9fJhOHBuK9SrL48q95e2Lt4FL6zD3Ph4gatNIRzaiv1w8wHwsyZGZG/DksTDE2xQLPpx6kp8xD0/mmDNk1wk734MPy+8Gn3XS+CaBD6KEXY7qe1ibrEKLEIQF3iBqpLe+6Xh6eNh5OzX4IrE659UE1JCuvGTb7zDlo1tkaDGvt7+gmOLLt/oQMAAA==" name="t:formdata" type="hidden">
<input type="hidden" name="t:submit" value="pobierzWydruk">
<input value="DOWNLOAD" name="DOWNLOAD" type="submit">
</form>
这是我尝试过的,但CURL返回false。
$url = 'https://ems.ms.gov.pl/krs/danepodmiotu.form';
$fields_string = '';
$fields = array(
't:submit' => 'pobierzWydruk',
't:formdata' => 'H4sIAAAAAAAAAJVSv2sUQRj9shAIOfyBYBGiUeHOKsyJmEYb44XIwSHBQ6xEZnc/13Fn5xtnZm/2Umjj3yBIIH+BpIptmhTpbPwL/ANsLAIBC2c3iphDL5nue3xv3nsz7+M3mPWLsJAb213jCjcoLQS58m7yEpM8psoaWCGTMa55gJjjGq0z4xWWkEEpYhZzi2w1DiBP3LpAmbaH6ErdebLf+nr54EcEMwNoJaScIfmIF+jg0uAVH/Gu5CrrDp0RKrtXaQdzvzWnGVo9q6ENQwlaOyzjQlgrSO3vpHdeHG5/jgAq7a/C4j/lnt+yr+ENgIP5P9AURk2Y9Tfg2uTOpiSVkxeYGZGGKMtasoxGrLAMNWce46TQIUqhSaFylj0Me73SOirat0fvtzp5e7lz7PomtKfczwx5G0R6/32vE2KPA+f4B9fJhOHBuK9SrL48q95e2Lt4FL6zD3Ph4gatNIRzaiv1w8wHwsyZGZG/DksTDE2xQLPpx6kp8xD0/mmDNk1wk734MPy+8Gn3XS+CaBD6KEXY7qe1ibrEKLEIQF3iBqpLe+6Xh6eNh5OzX4IrE659UE1JCuvGTb7zDlo1tkaDGvt7+gmOLLt/oQMAAA==');
foreach ($fields as $key => $value) {
$fields_string .= $key . '=' . $value . '&';
}
$fields_string = rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, count($fields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
curl_close($ch);
答案 0 :(得分:0)
以下是一些基本步骤,可帮助您使用cURL重建任何请求(大部分)。
在浏览器的Web检查器中打开网络选项卡。
执行相关请求。在您的情况下执行触发PDF下载所需的任何操作。
在网络标签中右键单击触发下载的请求,然后选择copy as cURL
。
将其粘贴到文本编辑器中,然后使用PHP cURL绑定开始重建请求。
粘贴的文本将是curl
命令的命令行版本。您可以找出每个命令选项的含义here。