登录论坛,社区,后台管理页面基本的方法都是使用 POST, 在 PHP CURL 里头有个 CURLOPT_POST 参数可以让我们轻松 POST 出表单数据。在 POST 出去表单数据之前,我们需要填写好表单数据流,表单数据流用数组存放。数据流里每一项会使用 '&' 符号隔开,这每一项数据就作为数组的一个元素。这里,我们要用 CURLOPT_POSTFIELDS 参数明确告诉我们要 POST 出去的数据是存放在哪的。
下面例子中模拟登录最新的 phpwind 8.7 beta 论坛版本。程序如下:
[PHP] 纯文本查看 复制代码 <?php
$fp = curl_init();
curl_setopt($fp, CURLOPT_URL, "http://www.sample.net/login.php?action=login");
$post_field = array();
$post_fields['forward'] = '';
$post_fields['jumpurl'] = 'http://www.sample.net/index.php';
$post_fields['step'] = '2';
$post_fields['lgt'] = '0';
$post_fields['pwuser'] = 'beyes';
$post_fields['pwpwd'] = 'groad.net';
$post_fields['hideid'] = '0';
$post_fields['submit'] = '';
curl_setopt($fp, CURLOPT_POST, true);
curl_setopt($fp, CURLOPT_POSTFIELDS, $post_fields);
curl_exec($fp);
?>
上面程序中,也可以不用 CURLOPT_POST 选项,因为在使用 CURLOPT_POSTFIELDS 选项时已经等于告诉 CURL 我们用的就是 POST 方法。 |