自动向服务器提交值

时间:2013-02-12 13:58:30

标签: php html forms submit

我计划为Chrome的网络邮件应用程序构建自动检查器扩展程序;我之前做过的事情,但现在我遇到了问题。

在登录网站上,我有以下登录表单:

<form name="form" action="./" method="post">
<input type="hidden" name="_token" value="8efe33...">
<input type="hidden" name="_task" value="login"><input type="hidden" name="_action" value="login"><input type="hidden" name="_timezone" id="rcmlogintz" value="_default_"><input type="hidden" name="_dstactive" id="rcmlogindst" value="_default_"><input type="hidden" name="_url" id="rcmloginurl" value=""><table summary="" border="0"><tbody><tr><td class="title"><label for="rcmloginuser">Username</label>
</td>
<td class="input"><input name="_user" id="rcmloginuser" autocapitalize="off" autocomplete="off" type="text"></td>
</tr>
<tr><td class="title"><label for="rcmloginpwd">Password</label>
</td>
<td class="input"><input name="_pass" id="rcmloginpwd" autocapitalize="off" autocomplete="off" type="password"></td>
</tr>
</tbody>
</table>


<p style="text-align:center;"><input type="submit" class="button mainaction" value="Login" /></p>

</form>

正如您所看到的,它有相应的用户名和密码字段'_user'和'_pass',提交按钮执行POST类型的'./'操作。

./表示当前文件,在此特定情况下为index.php。

据我了解,这意味着:

email_server.com/index.php?_user=some_username&_pass=some_password

将提交这些值(就像填写登录凭据并点击“登录”按钮一样)。相反,它只是填充_user值而_pass仍然是空的,而不是谈论它根本不尝试登录这一事实。

我过去做过这件事并且完美无缺。我在这种情况下遗漏了什么吗?

1 个答案:

答案 0 :(得分:0)

在发送数据之前,您必须知道该表单发送数据的位置,因为您必须模拟表单。 cURL能够通过许多不同的选项设置将POST和GET数据发送到服务器。查看http://php.net/manual/en/function.curl-setopt.php以了解所有设置。任何以CURLOPT_POST开头的东西都是一个不错的选择。