Php curl登录问题
我无法使用此脚本登录:Php curl登录问题,php,curl,login,Php,Curl,Login,我无法使用此脚本登录: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://mysite.com/admin/index.php"); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS, 10); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://mysite.com/admin/index.php");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'action=login_user.php&AU_USRNAME=myname&AU_PWD=secret');
$result = curl_exec($ch);
curl_close($ch);
但是我不能登录。你知道这有什么不对吗
这是表格代码:
<form name="loginForm" action="login_user.php" method="POST" enctype="multipart/form-data">
<table>
<tr>
<td class="label">username</td>
<td class="input"><input type="text" name="AU_USRNAME" value="" size="20" /></td>
</tr>
<tr>
<td class="label">password</td>
<td class="input"><input type="password" name="AU_PWD" value="" size="20" /></td>
</tr>
</table>
<div id="buttonGroup">
<input type="submit" class="buttonWide" value="login" name="auth_do_login" />
</div>
</form>
您是否看到任何错误?我认为您使用cookie进行身份验证,因此cookie应该在身份验证后存储,请使用下面的代码,该代码将存储cookie并在将来的请求中转发,以便您保持登录状态
<?php
$curl_handle=curl_init();
curl_setopt( $curl_handle, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt($curl_handle,CURLOPT_URL,'http://mysite.com/admin/index.php');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl_handle,CURLOPT_COOKIEFILE,dirname( __FILE__ ).DIRECTORY_SEPARATOR."cookie.log");
curl_setopt($curl_handle,CURLOPT_COOKIEJAR,dirname( __FILE__ ).DIRECTORY_SEPARATOR."cookie.log");
curl_setopt($curl_handle,CURLOPT_REFERER,'http://www.google.co.in');
curl_setopt($curl_handle,CURLOPT_POST,true);
curl_setopt($curl_handle,CURLOPT_POSTFIELDS,"action=login_user.php&AU_USRNAME=myname&AU_PWD=secret");
curl_setopt($curl_handle,CURLOPT_FRESH_CONNECT,true);//No caching
curl_setopt($curl_handle,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($curl_handle,CURLOPT_MAXREDIRS,1);
$buffer=curl_exec($curl_handle);
echo $buffer;
?>
请求不应该转到吗?您的意思是在此之后的连续请求中没有授权吗?你应该在你的卷曲请求中添加一个cookie,请粘贴表单的源代码。你确定没有CSRF安全输入吗?