【发布时间】:2014-10-24 03:10:20
【问题描述】:
所以本质上我正在尝试使用 php curl 模拟表单发布。我使用类似于下面的东西......
curl_setopt($ch, CURLOPT_URL, 'http://example.com/update/93827');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'Subject=test&Content=test');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
现在这一切都很好,但是,我正在使用的网站要求每个字段都是完整的,并且根据我在手动执行并查看 firebug 时所看到的内容......获取所有这些数据看起来有点不合理(因为从上面你可以看出,我只需要做 2 个字段,但是网站需要大约 17 个不同的字段,如果你手动做就不需要了)。
我一直使用上述方法,但我认为如果有一种方法可以将您的数据输入到字段中并实际模拟点击后,以便网站执行所需的操作,这可能会更容易.
如果您对我的意思感到困惑,我可以详细说明。
欢呼
【问题讨论】:
-
也许你正在抓取的网站已经收紧了他们的传入请求。只需使用php.net/manual/en/function.curl-setopt-array.php 设置 curl 中的所有字段,看看效果如何。