Я использую Furk.net API , и мне удалось успешно войти в систему с помощью функции curl и отправить данные сообщения на правильный URL-адрес (http://api.furk.net/api/login/login). Когда я повторяю результаты, Я получаю сообщение об успешном завершении, и cookie успешно сохраняется на моем сервере. Однако, когда я пытаюсь затем извлечь информацию из API, это дает мне доступ запрещен. Мне интересно, почему мой cookie не используется для всех следующих запросов
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 существует, мне будет отказано в доступе, но если я попытаюсь повторить тот же запрос в своем браузере при входе в систему, я получу соответствующие результаты.