PHP cURL:没有错误,但无法以提交形式登录
首先,对不起我的英语。我已经阅读了很长一段时间关于这个论点的其他答案,但没有成功 我想登录“”下载页面,但在输出中我获得了登录页面(没有错误!) 谢谢大家! 这是登录表单:PHP cURL:没有错误,但无法以提交形式登录,php,curl,login,submit,Php,Curl,Login,Submit,首先,对不起我的英语。我已经阅读了很长一段时间关于这个论点的其他答案,但没有成功 我想登录“”下载页面,但在输出中我获得了登录页面(没有错误!) 谢谢大家! 这是登录表单: <form name="loginform" id="loginform" action="login.aspx" method="POST"> <input type="hidden" name="target" value=""><BR> <table cellpadding="
<form name="loginform" id="loginform" action="login.aspx" method="POST">
<input type="hidden" name="target" value=""><BR>
<table cellpadding="0" cellspacing="0" class="boxsearch">
<tr>
<td align="left" class="boxtitles" width="355">Member Login</td>
</tr>
<tr>
<td align="center" width="355" height="45">
<table cellpadding="2" cellspacing="2" align="center" valign="middle" width="355">
<tr>
<td align="right">Membership #:</td>
<td align="left">
<input type="text" name="dcinumber" id="dcinumber" value="" maxlength="10">
</td>
</tr>
<tr>
<td align="right">Password: </td>
<td align="left">
<input type="password" name="password" id="password" value="">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="button" name="submitlogin" id="submitlogin" class="submitbutton" value="Login" onclick="document.loginform.submit();">
</td>
</tr>
</table>
</td>
</tr>
</table>
<input type="hidden" name="action" id="action" value="login">
在处理远程表单帖子时,最好使用网络嗅探工具,这样您就可以看到正在进行的通信。例如,在Chrome中,您可以使用:开发者工具->网络->文档,在提交表单时查看正在发生的事情 通过在以下位置嗅探登录表单:ttps://webapp.wizards.com/login.aspx 我可以看到以下发布的参数:
target:
dcinumber:
password:
action:login
如果您的请求不包含这些参数,则web应用程序很可能会抛出您的请求(通过再次呈现带有错误消息的页面)。这就是为什么您会在结果中看到登录页面
因此,您的帖子字段应该更像这样:
array("dcinumber" =>$user, "password" => $password, 'target' => $target, 'action' => 'login')
如果我发布到该表单并嗅探该帖子(例如,在Chrome中尝试“开发人员工具/网络”选项卡),它会发布以下参数。target:dcinumber:password:action:login所以你的post字段应该更像这样:array(“dcinumber”=>$user,“password”=>$password,'target'=>$target,'action'=>'login'),那么我必须发布所有这些参数,对吗?这些是在单击表单的提交按钮时表单发送的参数,如果不发送这些参数,应用程序很可能会抛出请求。在这方面,使用网络监视器将真正帮助您。查看浏览器的开发人员工具,以便了解登录时发生的情况。您甚至可能在成功登录后丢失重定向。好的,现在我尝试。。。非常感谢。
array("dcinumber" =>$user, "password" => $password, 'target' => $target, 'action' => 'login')