我目前正在尝试编写一个使用cURL连接到网站的脚本。
我想办法做到这一点,尝试过饼干,但我不知道什么cookie是登录cookie ...如果有人可以帮助谢谢...
但我尝试了另一种方式......使用CURLOPT_POSTFIELDS,但我发现该网站在登录表单上使用GET(什么?!)所以我尝试了这个:
$username="User";
$password="Pass";
$url="http://www.site.com/register/?action=login&user=".$username."&password=".$password;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($ch);
echo $result;
curl_close($ch);
但它没有用......有没有办法以不同的方式登录网站?该网站有“method = GET”,但它并没有真正使用get ...
<form method="get" action="/register/" name="connectform">
<input type="hidden" name="action" value="login"/><input type="hidden" name="returnpage" value=""/>
<ul class="login_form">
<li><label>login :</label> <input type="text" name="login_login" maxlength="24" value="" class="input2"/><span class="error"></span></li>
<li><label>Password :</label> <input type="password" name="login_password" maxlength="24" value="" class="input2"/><span class="error"></span></li>
</ul>
<div class="login_button" style="display:inline-block">
<a class="small_button" onclick="javascript:document.connectform.submit()"><span>Connect to my account</span></a>
<input type="submit" style="display:none" />
</div>
</div>
</form>
我该怎么办? 我不在乎你会帮助我这些方式,但我更喜欢饼干... 非常感谢你!
答案 0 :(得分:3)
尝试使用以下网址:
$url = 'http://www.site.com/register/?action=login&login_login='.$username.'&login_password='.$password;
还添加以下选项:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // return the content (often default)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // follow redirects
如果您想访问需要上述登录的其他页面,请使用以下选项:
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookies.txt'); // send saved cookies
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookies.txt'); // save cookies
解决方案:请看下面的评论。