antyan

Рейтинг
33
Регистрация
09.01.2013
Bitman:
Под виндой надо пути дикие прописывать к файлу куков

А подробнее можно?

LEOnidUKG:
Ничего не нужно получать. Вы уже получили. Просто делайте запрос к сайту с подключением этого файла с куками и они будут работать.
Основы почитайте работы курла и куков.

Не работает почему то.

Vladimir-AWM:
ТС, сделал тестовый запрос, в постах не верно имена полей прописаны, должно быть так:

curl_setopt($ch, CURLOPT_POSTFIELDS,"username=".$login."&password=".$pass."&csrfmiddlewaretoken=".$key);


Пост запрос шлется на
https://instagram.com/accounts/login/

Да, в пост неправильные поля выкинул, шля по правильным на указанный Вами адрес, но 403 выбивает (

---------- Добавлено 05.01.2014 в 13:30 ----------

А если сервер отдаст 302, то как я понимаю авторизация прошла успешно?

---------- Добавлено 05.01.2014 в 14:24 ----------

Проблему решил, всем спасибо за помощь.

HTML5 API history не?

siv1987:


По поводу чего?

По поводу того, как решить проблему авторизации в instagram на php, т.к. в сети нигде нету решения, а хотелось бы разобраться с этим вопросом, т.к. не только мне, но и может еще кому нибудь понадобиться.

Есть у кого какие идеи?

siv1987:
Если это "случайный" key сгенерируйте и вы случайный. Или попробуйте авторизоваться без ключа. Поищите в исходном коде этот случайный keyб если приходит от сервера с формы авторизации, тогда предварительно спарсите этот ключ потом отправьте вместе с логином и паролем

Спарсил ключил, а вот как полученые куки применить грамотно (правильно)?

---------- Добавлено 04.01.2014 в 16:47 ----------

Что я делаю ни так?


$url="https://instagram.com/accounts/login/";
$login="sdfwefef";
$pass="grergrgrg";

$page = file_get_contents($url);



$content = preg_match('<input type="hidden" name="csrfmiddlewaretoken" value="(.*?)">', $page, $found);


function login($url,$login,$pass,$key){
$ch = curl_init();
if(strtolower((substr($url,0,5))=='https')) { // если соединяемся с https
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
}
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"login=".$login."&pass=".$pass."&csrfmiddlewaretoken=".$key);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (Windows; U; Windows NT 5.0; En; rv:1.8.0.2) Gecko/20070306 Firefox/1.0.0.4");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
$result=curl_exec($ch);

if(strpos($result,"Location: index.php")===false) die('Login incorrect');

curl_close($ch);

return $result;
}

login($url,$login,$pass,$found[1]);
Vladimir-AWM:
Через CURL пробуйте передавать POST запрос

curl_setopt($ch, CURLOPT_POSTFIELDS, "post1=1&post2=2");


с приемом и передачей кук

curl_setopt($ch, CURLOPT_COOKIEJAR, getcwd()."/cookie.txt");

curl_setopt($ch, CURLOPT_COOKIEFILE, getcwd()."/cookie.txt");
.

Какие POST запросы и куда слать, а так же просмотр всех редиректов, если они будут посмотрите например через снифер плагин под названием HttpFox к браузеру FireFox.

Дело в том, что страница авторизации генерирует key случайный и передаем через форму с логином и паролем. Короче вообще беда, ничего не понимаю :(

Никто не знает как это реализовать?

rerighter:
Не работал с API Instagram, но, по опыту других API, мне что-то подсказывает, что access_token не стоит публично выкладывать.

access_token взят с примера.

Всего: 65