Задать вопрос

Как авторизироваться в Instagram через curl?

Здравствуйте,
есть код
function curl_file($url, $cookie = 'coockie', $post = '', $xhr = '') {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  curl_setopt($ch, CURLOPT_HEADER, true);
  curl_setopt($ch, CURLOPT_TIMEOUT, 60);
  curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
  curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
  curl_setopt($ch, CURLOPT_REFERER, $url);
  curl_setopt($ch, CURLOPT_AUTOREFERER, true);
  if ($post) {
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
  }
  if ($xhr) {
    preg_match('|csrftoken(.*)|', file_get_contents('coockie'), $csrf);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-CSRFToken:' . trim($csrf[1]), 'X-Instagram-AJAX:1', 'X-Requested-With:XMLHttpRequest'));
  }
  $file = curl_exec($ch);
  curl_close($ch);
  return $file;
}

curl_file('https://instagram.com/accounts/login/ajax/', 'coockie', 'username=Имя&password=Пароль', 1);
echo curl_file('https://instagram.com/', 'coockie', 1, 1);


куки записывается, куки считывается, а вот по итогу на странице появляется текст, редирект 301 и куча другой информации из запроса
почему не происходит автторизация?
  • Вопрос задан
  • 120 просмотров
Подписаться 2 Средний 6 комментариев
Пригласить эксперта
Ответы на вопрос 2
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
если сам запрос рабочий, то скорее всего дело в том что куки файл сохраняется при закрытии соединения, а ты пытаешься открыть его раньше
Ответ написан
Комментировать
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
Заголовков должно быть чуть больше чем у вас

$headers = [
                'cookie' => $cookieString,
                'referer' => Endpoints::BASE_URL . '/',
                'x-csrftoken' => $csrfToken,
                'X-CSRFToken' => $csrfToken,
                'user-agent' => $this->getUserAgent(),
            ];

код отсюда https://github.com/postaddictme/instagram-php-scra...

p.s. для парсинга веб инсты в том числе с авторизацией рекомендую просто брать и использовать https://github.com/postaddictme/instagram-php-scraper
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы