我正在尝试使用curl登录网站,但是无法使用它进行工作。
这是我正在使用的代码。以curl登录php
首先,我从网站获取csrf标记以确保它匹配。
但我得到的结果总是登录表单。
$url="http://www.example.com/accounts/login";
$postinfo = 'csrfmiddlewaretoken='.$key.'&[email protected]&password=mypassword';
$cookie = "cookies.txt";
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
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, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postinfo);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
return $result;
有谁知道我为什么不能登录?
表单字段是正确的,当我进行登录尝试cookie.txt文件已更改。
在打开PHP标记 (例如'<?php error_reporting(E_ALL);)后立即向文件顶部添加错误报告。 ini_set('display_errors',1);'然后你的代码的其余部分,看看它是否产生任何东西。 –
@ Fred-ii-我没有看到任何错误,只是为了让您知道我正在使用laravel 5 – Szenis
您可能需要为它添加标签,这可能与它有一些相关性。我无法确定它是否有影响,因为我对拉拉维尔一无所知。 –