[英]CURL PHP Post request to download PDF file
我有一個類似下面的表格。
我想使用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);
以下是一些基本步驟,這些步驟將幫助您使用cURL重新構建任何請求(大部分情況下)。
在瀏覽器的網絡檢查器中打開“網絡”標簽。
執行有問題的請求。 根據您的情況,執行觸發PDF下載的所有操作。
在網絡標簽中,右鍵點擊觸發下載的請求,然后選擇copy as cURL
。
將其粘貼到文本編輯器中,然后開始使用PHP cURL綁定重建請求。
粘貼的文本將成為curl
命令的命令行版本。 您可以在此處了解每個命令選項的含義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.