Php 如何用curl模拟点击后的效果?

Php 如何用curl模拟点击后的效果?,php,http,curl,Php,Http,Curl,因此,本质上我正在尝试使用php curl模拟表单post。我使用类似于下面的东西 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_RETURNTRANS

因此,本质上我正在尝试使用php curl模拟表单post。我使用类似于下面的东西

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个不同的字段,如果手动操作,这些字段是不需要的)

我总是用上面的方法来做,但我认为如果有一种方法可以将你的数据输入到字段中,并实际模拟一次点击,那么网站就会做它需要做的事情,这可能会更容易

如果你对我的意思感到困惑,我可以详细说明


欢呼

这是一种方法。它会在0秒后(立即)强制“刷新”指定的url 如果您想将值发布到页面,这将不起作用,但我注意到您仍然在url中使用查询字符串

echo '<meta http-equiv="refresh" content="0; ,URL=http://http://example.com/update/93827?Subject=test&Content=test">';
echo';

如果您是从php页面调用,请确保您响应了上述内容。可能您正在抓取的网站已经收紧了对其传入请求的限制。只需使用设置curl中的所有字段,然后看看它是如何运行的。