首页 > 解决方案 > 通过 cURL 和 PHP 在远程站点提交表单,并下载响应文件,远程页面是 html 和 https

问题描述

我正在尝试在远程站点上提交一个表单,该表单的输出是一个我想在本地存储到我的站点的 pdf 文件。我想使用 PHP 和 cURL 通过 cron 作业自动执行此操作。

在此处输入图像描述

问题:

  1. 远程站点是 https(更糟糕的是它没有正确设置)
  2. 该网站是 html 而不是 PHP,但它给出的结果就像 PHP

到目前为止我尝试过的

  1. 我在 PHP 中使用了 cURL,但效果不佳。它只是提交一个响应,其中不包括来自表单提交的响应。

  2. 我试图在我的本地主机上创建远程表单,当我提交表单时,它确实返回了 pdf 文件,但这个解决方案不使用 Curl,因此我无法自动化它。

到目前为止我尝试过的代码

<?php 

// set post fields
$post = [
    'bench_sno' => '1',
    'causelist_date' => '2010-10-1',
    'btnSearch'   => 'Search Causelist',
];

$ch = curl_init('http://peshawarhighcourt.gov.pk/app/site/4/p/Causelists_List.html');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

// execute!
$response = curl_exec($ch);

// close the connection, release resources used
curl_close($ch);

// do anything you want with your response
//var_dump($response);
echo $response;

?>

当我只是将远程表单复制到我的站点并提交表单时,它确实可以正常工作,但问题是它不适用于 cURL。我需要通过 cron 作业自动执行此任务,如果有任何其他解决方案,我可以考虑。

标签: phpregexformscurlcross-domain

解决方案


正如问题本身所讨论的那样,@vivek_23 指出将其包含在字段中,该表单现在可以使用

<input type="hidden" name="url" value="http://peshawarhighcourt.gov.pk:443/app/site/4/p/Causelists_List.html">

推荐阅读