[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проблема с авторизацией через Curl
Страницы: 1, 2
alerzo
Цитата (killer8080 @ 6.09.2013 - 11:58)
alerzo
попробуй разбить на два сеанса курл
curl_init();
...
curl_close();

curl_init();
...
curl_close();

Не помогло
killer8080
смотри ошибки
curl_exec($ch) or die(curl_error($ch));
alerzo
Цитата (killer8080 @ 6.09.2013 - 12:15)
смотри ошибки
<pre class="sh_sourceCode" rel="php"><span class="sh_function">curl_exec</span><span class="sh_symbol">(</span><span class="sh_variable">$ch</span><span class="sh_symbol">)</span> <span class="sh_keyword">or</span> <span class="sh_function">die</span><span class="sh_symbol">(</span><span class="sh_function">curl_error</span><span class="sh_symbol">(</span><span class="sh_variable">$ch</span><span class="sh_symbol">));</span></pre>

Никаких ошибок не выводит


Вот что происходит когда отправялется настоящая форма:
Цитата
https://instagram.com/accounts/login/

POST /accounts/login/ HTTP/1.1
Host: instagram.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://instagram.com/accounts/login/
Cookie: mid=UihHuAAEAAEmmWUdSt7ue3WSej4B; __utma=1.2137406737.1378371521.1378371521.1378371521.1; __utmb=1.4.10.1378371521; __utmc=1; __utmz=1.1378371521.1.1.utmcsr=yandex|utmccn=(organic)|utmcmd=organic|utmctr=%D0%B8%D0%BD%D1%81%D1%82%D0%B0%D0%B3%D1%80%D0%B0%D0%BC; sessionid=IGSC88157e2831824695d0ef76ec818eca99132c6896e94cf2343e42bad9e0a87458%3AlNUReHWTYis1K3qQjfWXZiPsmoHe22oN%3A%7B%7D; ccode=RU; csrftoken=bd66f7da2e997ff647a5eeff9e07e71b
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 89
csrfmiddlewaretoken=bd66f7da2e997ff647a5eeff9e07e71b&username=******&password=********
HTTP/1.1 302 FOUND
Cache-Control: max-age=0
Content-Language: ru
Content-Type: text/html; charset=utf-8
Date: Thu, 05 Sep 2013 09:06:53 GMT
Expires: Thu, 05 Sep 2013 09:06:53 GMT
Last-Modified: Thu, 05 Sep 2013 09:06:53 GMT
Location: https://instagram.com/
Server: nginx
Set-Cookie: csrftoken=bd66f7da2e997ff647a5eeff9e07e71b; expires=Thu, 04-Sep-2014 09:06:53 GMT; Max-Age=31449600; Path=/
Set-Cookie: sessionid=IGSC3ef19b655526349b49b12518ee6ee52028cd853734d5daf26ba2e514a1d3a99a%3ATvJ01BVOqCHjANUovct7OYFA69k1EjY4%3A%7B%22_token%22%3A%22540632781%3AxeNR1XJIIQwrunQL6WInlGUXiqgEPvX3%3A1a26832f61a19842dbdcfb9f5c0a3d0545c89bdfd0ccaabbcee7379e7b04301c%22%2C%22last_refreshed%22%3A1378372013.582706%2C%22_auth_user_backend%22%3A%22accounts.backends.CaseInsensitiveModelBackend%22%2C%22_auth_user_id %22%3A540632781%2C%22_platform%22%3A4%7D; expires=Wed, 04-Dec-2013 09:06:53 GMT; Max-Age=7776000; Path=/;HttpOnly
Vary: Cookie, Accept-Language
Content-Length: 0
Connection: keep-alive
alerzo
Цитата (killer8080 @ 6.09.2013 - 08:59)
Цитата (alerzo @ 5.09.2013 - 18:22)
но вместо этого выдает сообщение об отключенных куках.

естественно, куки из первого запроса, где парсился csrf token, ведь не были переданы wink.gif

А как вы это поняли. Ведь сейчас же я запихнул все в одну сессию а всеравно в куках те 2 строчки
killer8080
Цитата (alerzo @ 6.09.2013 - 17:46)
А как вы это поняли. Ведь сейчас же я запихнул все в одну сессию а всеравно в куках те 2 строчки

возможно там защита от ботов. Куки могут дописываться javascript-ом.
alerzo
Цитата (killer8080 @ 6.09.2013 - 16:44)
Цитата (alerzo @ 6.09.2013 - 17:46)
А как вы это поняли. Ведь сейчас же я запихнул все в одну сессию а всеравно в куках те 2 строчки

возможно там защита от ботов. Куки могут дописываться javascript-ом.

попробовал авторизоваться с отключенным js. После тог как нажал "Войти", загрузилась пустая страница. Потом включил js, обновил страницу (браузер не спросил - отправить снова), загрузилась авторизованная страница.
Думаю js тут не причем
alerzo
Сервер отдает ошибку HTTP/1.1 403 FORBIDDEN
Выходит сервер действительно палит запрос. Из-за чего это может быть.
Или эта ошибка может означать что-то другое?
dumbo
alerzo
Даю бесплатные советы:
1) Тебе нужно имитировать все действия, к-ые происходят в браузере при авторизации. Для этого сначала нужно просто скачать данную страницу, причем скачать CURL'ом, а не file_get_contents. Это нужно, чтобы загрузить необх-мые куки с сайта. Они отправляются клиенту при первом запросе к сайту, а не при сабмите формы авторизации. Естес-но, перед этим нужно устан-ть все необх-мые опции CURL (CURLOPT_SSL_VERIFYPEER, CURLOPT_COOKIEJAR, CURLOPT_COOKIEFILE, ..). И только после этого нужно делать собств-но запрос авторизации (с теми же опциями CURL).
2) И ради бога, не пиши больше такие простыни, как у тебя в примере. Используй нормальную обертку для CURL, или напиши свою собственную.
zelenin
ваш спорт, конечно, интересен, но у Инстаграма неплохо документированное АПИ, и вам легче разобраться в "непонятных кодах", чем мучаться непонятно с чем.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.