-1

我计划为 Chrome 的 webmail 应用程序构建一个自动检查器扩展;我以前做过的事情,但现在我遇到了问题。

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

<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仍然是空的,更不用说它根本不尝试登录的事实。

我过去做过这件事,而且效果很好。在这种情况下我错过了什么吗?

4

1 回答 1

0

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

于 2013-02-12T14:08:34.423 回答