1
我使用的是Furk.net API,并且我成功地使用curl函数登录并将发布数据提交到正确的URL(http://api.furk.net/api/login/login)。当我回复结果时,我收到一条成功消息,并将cookie成功存储在我的服务器上。但是,当我尝试从API中检索信息时,它会使我拒绝访问。我想知道为什么我的cookie没有被用于所有以下请求?使用Furk.net API不会让我登录
function getUrl($url, $method='', $vars='') {
global $megauser;
$ch = curl_init();
if ($method == 'post') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');
$buffer = curl_exec($ch);
curl_close($ch);
return $buffer;
}
$login_data = array(
'login' => 'user',
'pwd' => 'pass'
);
echo getUrl('http://api.furk.net/api/login/login','post', $login_data);
如果我尝试使用此功能相同的API另一个请求而cookie存在,我得到拒绝访问,但如果我尝试在我的浏览器相同的请求,同时登录,我得到了相应的结果。