PHP Curl - проблема с файлами cookie - PullRequest
11 голосов
/ 23 сентября 2011

Я пытаюсь автоматически получить статистику своих партнеров по Amazon через cUrl. Однако я падаю на первое препятствие; вход в систему.

Когда я использую следующий код:

    $url = 'https://affiliate-program.amazon.com/gp/flex/sign-in/select.html';
    $post_data = "action=sign-in&email=$username&password=$password";

    $fp = fopen('/my/path/to/cookie.txt', 'w');
    fclose($fp);

    $login = curl_init();
    curl_setopt($login, CURLOPT_COOKIESESSION, 1);
    curl_setopt($login, CURLOPT_COOKIEJAR, '/my/path/to/cookie.txt');
    curl_setopt($login, CURLOPT_COOKIEFILE, '/my/path/to/cookie.txt');
    curl_setopt($login, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
    curl_setopt($login, CURLOPT_TIMEOUT, 40);
    curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);        
    curl_setopt($login, CURLOPT_URL, $url);
    curl_setopt($login, CURLOPT_HEADER, 1);        
    curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($login, CURLOPT_POST, 1);
    curl_setopt($login, CURLOPT_POSTFIELDS, $post_data);
    echo curl_exec($login);
    curl_close($login);  

Я получаю следующий вывод:

HTTP / 1.1 200 OK Дата: четверг, 22 сентября 2011 г. 22:08:39 GMT Сервер: сервер x-amz-id-1: 1NNZMSS8X73EE0G7HKW8 x-amz-id-2: HRW1ZoN4KVzDCp / tS5E7l + 7fn9XGH2k / T7qxzi + WLOw = Set-cookie: Идентификатор сеанса времени = 1317279600l; Путь = /; домен = .amazon.com; истекает = чт 29 сентября, 07:00:00 по Гринвичу, Set-cookie: идентификатор сессии = 181-7755537-2127814; Путь = /; домен = .amazon.com; истекает = четверг, 29 сентября, 07:00:00 по Гринвичу Accept-Encoding, User-Agent Cneonction: закрыть Transfer-Encoding: Тип содержимого: текст / html; charset = UTF-8 Пожалуйста, включите куки продолжить

Чтобы продолжить покупки на Amazon.com, пожалуйста, включите куки в вашем Интернете браузер. Подробнее о файлах cookie и о том, как их включить.

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

cookie.txt содержит следующее:

# Файл cookie HTTP Netscape

# http://curl.haxx.se/rfc/cookie_spec.html

# Этот файл был сгенерирован libcurl! Редактируйте на свой страх и риск.

.amazon.com ИСТИНА / ЛОЖЬ 1317279600 идентификатор сеанса 1317279600l

.amazon.com ИСТИНА / ЛОЖЬ 1317279600 идентификатор сеанса 181-7755537-2127814

Активные HTTP-заголовки:

https://affiliate -program.amazon.com / зм / Flex / регистрация заезда / select.html

POST /gp/flex/sign-in/select.html HTTP / 1.1 Host:

affiliate-program.amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT 6.0;

rv: 6.0) Gecko / 20100101 Firefox / 6.0 Принять:

* * Текст тысяча сорок четыре / HTML, приложение / XHTML + XML, приложение / XML; д = 0,9, * * 1045 / * * тысячу сорок шесть; д = 0,8

Accept-Language: en-gb, en; q = 0,5 Accept-Encoding: gzip, deflate

Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive

Реферер: https://affiliate -program.amazon.com / Cookie:

APN-идентификатор пользователя = P0000000000; сеанс идентификатора время = 1317366000l;

Session-Id = 182-9139891-5240049;

__ UTMA = 125759317.157031897.1316727783.1316727783.1316795373.2;

__ utmz = 125759317.1316727783.1.1.utmccn = (прямой) | utmcsr = (прямой) | utmcmd = (нет);

ubid-основная = 190-8295480-4625243; __utmv = 125759317.koicarandsup-20; * * одна тысяча шестьдесят шесть

х-основная = Qim @ jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

на-Майне = 4 | eaxYjMp + 5TWMiQOn6gROkHUvCfKF3Y9hkvacYbU0 + fzL3Pr1ejcGt78Tb6W5zvUYj67hWyx3AuNd3UparIBCnnrL62d5IMyn7zeFKr7GfjnPvjjaGOPArk7n7tr7go + QgBU6OZ0hKse6MJIdApDrSe2cI0Mz9XDvbumEU5twDKgq338hejMR23IXuWrvq1o0hcfN6DS0oabY7mVIddSMig ==;

* +1071 * __ UTMB = 125759317; __utmc = 125759317 Тип содержимого:

application / x-www-form-urlencoded Content-Length: 1276

SESSIONID = 182-9139891-5240049 & путь =% 2Fgp% 2Fassociates% 2Flogin% 2Flogin.html и запрос = returl% 3D% 2Fgp% 2Fassociates% 2Fjoin% 2Flanding% 2Fmain.html% 26retquery% 3D и действие = входа в & режим = 1 & электронная почта = ххх и пароль = ххх и х = 31 & у = 18 & metadata1 = xppc1AIU% 2Fl8IERp8RJxYooTCV9Vo2Nico9wyEvW9ByghGgc% 2FSNU8XqMQnjgshs3DZpFQgLXCAT1qAama% 2Bj5WBGxvTRiC45v6Am7hMY99RwJfUIozi5v1ZkwV% 2Bcjp9PecvpcPSxLVuwOF4QSf7Q% 2BPxNwlxLm5nHXqSNPwmw5Ezg2ENIagMWcrwuDlp50% 2B0XKi0e8yyawdc5TjH% 2BhGXz12KABRLoH1WuTSwAWleHzGzBUN515WgRMElB583b9h% 2FoDINumjmwwsHsjzXjLaEjYaM1w6nw% 2F5fqmpABPcN31D7wgDQoOi1xxIyUtZceAa3rwwUxKvpZecStM2T6QtSJhx6YdpLNmHwGSdhkBrsCQVlcLruKNMnUVrb% 2FZni3le380YsUeIsVZy113lqayCwla9vwvDTA4mstx2YTKtTU1NOzfblMlYBEL4rhLN1fpeF0EaiAoiatLb1kH% 2BCvt6tp78KyPCd0XeEBGqMeDWm2b% 2FBSg% 2BUqVLBMSeHtJ4VZXxMaWhodZZYU0uxUNwL8hCVruO5KxSbssorByNybuPx% 2FmkS87UZMDB62VALgb90MUXLvbVX% 2BcmizzBkmwCs3Q6ampHa40NIYQKXTCCnGjVUwavCPv73OrMA8OjVJX3h371m3OHvzpBKRTFG5uiTfZoaaPI% 2FYxikE2v99% 2FaR3vlwkTZfOhM% 2Fba9seIbMpxArTj6ekpmTLbU5LwKn2yVbiAZgsUuFSCNcQMlE% 2FJ9nAIuYZ2guks0Zz% 2BPhJ07TOXuTscuc% 2Fm0wgqqluPq5NShRINoiGLjiKva6ngslLoQWeKovNwYyVCyNfuwsZ7BIo6% 2Fo7yaEfIK6Yb% 2BZPMommN% 2FI7BFrlW7wrWmaG% 2FgbtSx1bg9A5DgtKBDI21j3ibebBZVN% 2FP2ZrEB6upCDHEKa1pMCkP6nbOhu% 2BxcrNYS% 2FyS6e0bv3WiWqugclX% 2FnYmBWBdNunCFtI8LKU% 2FMvhDT820M% 3D

1077 * HTTP / 1.1 302 MovedTemporarily Дата: Пт, 23 сентября 2011 16:30:35 GMT
1079 * Сервер: сервер x-amz-id-1: 1JGFY8JCATS8GCJ05WP3 x-amz-id-2:

vNYWJ + 3yN1Qrya1cxENZdlFuZNF4Yc4uYhCmoR3UFBU = набор-Cookie-4NB * * * * *0v54qEG1Jn9Pk + 7Hi2Cws1f + jBSUt9oyBzrpy6BX1XCsZ / qoJlbswA0G2U3L9Yhec4CjSlsLZM + mEPRs / AiNAbvuUDzj9wL1HI2x + e7tBqDLhK + fas6R562qkQBX + 9Y7bhE1St11hjislFijGuTcbtr + 5mUz1FuweEFaH / xtHacsJ3Yth9iOiska0CbQ ==;

* * +1085 путь = /;домен = .amazon.com;истекает = вт 01 января 08:00:01 2036 по Гринвичу;

безопасный Set-Cookie: ubid-main = 190-8295480-4625243;путь = /;

домен = .amazon.com;истекает = вт 01 января 08:00:01 2036 по Гринвичу Местоположение:

https://affiliate -program.amazon.com / gp / associates / join / landing / main.html

Варьируется: Accept-Encoding, User-Agent Content-Encoding: gzip nnCoection:

close Transfer-Encoding: chunked Content-Type: text / html;

charset = UTF-8


https://affiliate -program.amazon.com / gp / associates / join / landing / main.html

GET / gp / associates / join /landing / main.html HTTP / 1.1 Хост:

affiliate-program.amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT 6.0;

rv: 6.0) Gecko / 20100101 Firefox /6.0 Принять:

text / html, application / xhtml + xml, application / xml; q = 0,9, / ; q = 0,8

Accept-Language: en-gb, en; q = 0,5 Accept-Encoding: gzip, deflate

Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive

Реферер: https://affiliate -program.amazon.com / Cookie:

apn-user-id = P0000000000;ID сеанса = 1317366000l;

ID сеанса = 182-9139891-5240049;

__ utma = 125759317.157031897.1316727783.1316727783.1316795373.2;

__ utmz = 12575161,17.utmccn = (прямой) | utmcsr = (прямой) | utmcmd = (нет);

ubid-main = 190-8295480-4625243;__utmv = 125759317.koicarandsup-20;

х-основная = Qim @ jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

* * на тысячу сто тридцать девять-магистрали = 4 | 3iPYr7E1Pn32BbMI4MHFaMtbn / 0v54qEG1Jn9Pk + 7Hi2Cws1f + jBSUt9oyBzrpy6BX1XCsZ / qoJlbswA0G2U3L9Yhec4CjSlsLZM + mEPRs / AiNAbvuUDzj9wL1HI2x + e7tBqDLhK +fas6R562qkQBX + 9Y7bhE1St11hjislFijGuTcbtr + 5mUz1FuweEFaH / xtHacsJ3Yth9iOiska0CbQ ==;

__ utmb = 125759317;__utmc = 125759317

HTTP / 1.1 302 MovedTemporary Date: Fri, 23 Sep 2011 16:30:36 GMT

Сервер: Сервер x-amz-id-1: 0DVGSNJ16FJ7BZSXKZEA x-amz-id-2:

3zBVVCqaFC6uLEb69n0ImqYEWcveHC / fr3DWJZ9XwfU = Set-Cookie:

ubid-main = 190-8295480-4625243;Путь = /;домен = .amazon.com;истекает = Вт

01 января 08:00:01 2036 по Гринвичу Местоположение:

https://affiliate -program.amazon.com / gp / associates / network / main.html

Варьируется: Accept-Encoding, User-Agent. Кодирование содержимого: gzip. Cneonction:

close. Кодирование передачи: chunked. Тип содержимого: text / html;

charset = UTF-8


https://affiliate -program.amazon.com / gp / associates / network / main.html

GET /gp/associates/network/main.html HTTP/1.1 Хост:

affiliate-program.amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT 6.0;

rv: 6.0) Gecko / 20100101 Firefox / 6.0 Принимать:

text / html, application / xhtml + xml, application / xml; q = 0,9, / ; q = 0,8

Accept-Language: en-gb, en; q =0.5 Accept-Encoding: gzip, deflate

Accept-Charset: ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive

Ссылка:https://affiliate -program.amazon.com / Cookie:

apn-user-id = P0000000000;ID сеанса = 1317366000l;

ID сеанса = 182-9139891-5240049;

__ utma = 125759317.157031897.1316727783.1316727783.1316795373.2;

__ utmz = 12575161,17.utmccn = (прямой) | utmcsr = (прямой) | utmcmd = (нет);

ubid-main = 190-8295480-4625243;__utmv = 125759317.koicarandsup-20;

* * х тысяча сто девяносто девять магистральных = Qim @ jFtaFnr4KaiFFutR7WZ1QkQHqoq9;
* * +1201 на-Майне = 4 | 3iPYr7E1Pn32BbMI4MHFaMtbn / 0v54qEG1Jn9Pk + 7Hi2Cws1f + jBSUt9oyBzrpy6BX1XCsZ / qoJlbswA0G2U3L9Yhec4CjSlsLZM + mEPRs / AiNAbvuUDzj9wL1HI2x + e7tBqDLhK +fas6R562qkQBX + 9Y7bhE1St11hjislFijGuTcbtr + 5mUz1FuweEFaH / xtHacsJ3Yth9iOiska0CbQ ==;

__ utmb = 125759317;__utmc = 125759317

HTTP / 1.1 200 OK Дата: пт, 23 сентября 2011 г. 16:30:36 GMT Сервер: Сервер

x-amz-id-1: 02WEQDKB29RGKP5T4NWE x-amz-id-2:

xFfF8ncVlxX9KZtDLganiEY4CcDu + qXwkV5CBJGrKWY = Set-Cookie:

ubid-main = 190-8295480-4625243;Путь = /;домен = .amazon.com;expires = вт

01 января 08:00:01 2036 GMT. Разное: кодировка принятия, агент пользователя

кодировка содержимого: gzip; соединение: закрыть кодирование передачи: chunked

Content-Type: text / html;charset = UTF-8


V192206992.jpg "> https://images -na.ssl-images-amazon.com / images / G / 01 / associates / network / thumb-slideshow-widget. V192206992 .jpg

GET

/ images / G / 01 / associates / network / thumb-slideshow-widget. V192206992 .jpg

HTTP / 1.1 Хост: images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0

(Windows NT 6.0; rv: 6.0) Gecko / 20100101 Firefox / 6.0 Принимать:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / gp / associates / network / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 4119 Дата последнего изменения:

Ср, 02 июня 2010 17:03:17 GMT Тип контента: image / jpeg X-Cache-Lookup:

Хит от cdn-images.amazon.com:8080, MISS от

cdn-images.amazon.com:10080 Cache-Control: max-age = 607570264 Дата:

Пт, 23 сентября 2011 16:30:37 GMT Соединение: keep-alive


SL75.jpg "> https://images -na.ssl-images-amazon.com / images / I / 41WtSRWclnL. SL75 .jpg

GET /images/I/41WtSRWclnL.SL75.jpg HTTP / 1.1Хост:

images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT

6.0;rv: 6.0) Gecko / 20100101 Firefox / 6.0 Accept:

image / png, image / ; q = 0.8, / *; q = 0.5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-Реферер:

https://affiliate -program.amazon.com / gp / associates / network / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 1317 Последнее изменение:

Четверг, 26 мая 2011 г. 11:17:40 GMT Тип контента: image / jpeg X-Cache-Lookup:

HIT от cdn-images.amazon.com:10080 Cache-Управление: общедоступное,

max-age = 628443948 Истекает: сб, 23 августа 2031, 08:16:25 GMT Дата: пт, 23

сент. 2011 16:30:37 GMT Соединение: сохранить-alive


SL75.jpg "> https://images -na.ssl-images-amazon.com / images / I / 417XQ0XwQuL. SL75 .jpg

GET /images/I/417XQ0XwQuL.SL75.jpg HTTP / 1.1 Хост:

images-na.ssl-images-amazon.com Пользовательский агент: Mozilla / 5.0 (Windows NT

6.0; rv: 6.0) Gecko / 20100101 Firefox / 6.0 Accept:

image / png, image / ; q = 0,8, / *; q = 0,5 AcceptЯзык: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / gp / associates / network / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 1321 Дата последнего изменения:

Чт, 29 июля 2010 04:26:28 GMT Тип содержимого: image / jpeg Контроль кэша:

public, max-age = 628496714 Срок действия истекает сб, 23 авг 2031 22:55: 51 GMT Дата:

Пт, 23 сентября 2011 16:30:37 GMT Соединение: keep-alive


SL75.jpg "> https://images -na.ssl-images-amazon.com/images/I/417tb3B43YL.SL75.jpg

GET /images/I/417tb3B43YL.SL75.jpg Хост HTTP / 1.1:

images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT

6.0;rv: 6.0) Gecko / 20100101 Firefox / 6.0 Accept:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-живой Реферер:

https://affiliate -program.amazon.com / gp / associates / network / main.html

HTTP / 1.1 200 OK Сервер: Содержание сервера-Продолжительность: 2462 Дата последнего изменения:

Пт, 26 июня 2009 04:52:12 GMT Тип контента: image / jpeg X-Cache-Lookup:

HIT from cdn-images.amazon.com: 8080, MISS от

cdn-images.amazon.com: 10080 Контроль кэша: max-age = 607635331 Дата:

Пт, 23 сентября 2011 16:30:37 GMTПодключение: keep-alive


SL75.jpg "> https://images -na.ssl-images-amazon.com / images / I / 41sh5uiQ83L. SL75 .jpg

GET /images/I/41sh5uiQ83L.SL75.jpg HTTP / 1.1 Хост:

images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0(Windows NT

6.0; rv: 6.0) Gecko /20100101 Firefox / 6.0 Accept:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / gp / associates / network / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 1341 Дата последнего изменения:

Четверг, 15 сентября 2011 г. 20:05:25 GMT Тип контента: image / jpeg X-Cache-Lookup:

MISS от cdn-images.amazon.com:10080 Cache-Управление: общедоступное,

max-age = 630611997 Срок действия истекает: ср, 17 сентября 2031 10:30:34 GMT Дата: пт, 23

сент. 2011 16:30:37 GMT Соединение: сохранить-живой


utm.gif? Utmwv = 1 & utmn = 61668861 & utmcs = UTF-8 & utmsr = 1280x1024 & utmsc = 24-бит & utmul = ан-ГБ & utmje = 1 & utmfl = 10,3% 20r183 & utmdt = Amazon.com% 20Associates% 20Central% 20-% 20Home & utmhn = партнерской-программы. amazon.com & utmr = 0 & utmp = / GP / партнеры / сеть / main.html "> * +1406 * -program.amazon.com / _utm.gif? utmwv = 1 & utmn = 61668861 & utmcs = UTF-8 & utmsr = 1280x1024 & utmsc = 24-бит & utmul = ен- GB & utmje = 1 & utmfl = 10,3% 20r183 & utmdt = Amazon.com% 20Associates% 20Central% 20-% 20Home & utmhn = affiliate-program.amazon.com & utmr = 0 & = utmp / GP / партнеры / сеть / main.html

GET

/ __ utm.gif? Utmwv = 1 & utmn = 61668861 & utmcs = UTF-8 & utmsr = 1280x1024 & utmsc = 24-бит & utmul = ен- GB & utmje = 1 & utmfl = 10,3% 20r183 & utmdt = Amazon.com% 20Associates% 20Central% 20-% 20Home & utmhn = affiliate-program.amazon.com & utmr = 0 & = utmp / GP / партнеры / сеть / main.html

HTTP / 1.1 Хост: affiliate-program.amazon.com Пользователь-агент: Mozilla / 5.0

(Windows NT 6.0; rv: 6.0) Gecko / 20100101 Firefox / 6.0 Принять:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / зм / партнеры / сеть / main.html

Cookie: apn-user-id = P0000000000; сеанс идентификатора время = 1317366000l;

Session-Id = 182-9139891-5240049;

__ UTMA = 125759317.157031897.1316727783.1316727783.1316795373.2;

__ utmz = 125759317.1316727783.1.1.utmccn = (прямой) | utmcsr = (прямой) | utmcmd = (нет);

* * Ubid 1 437 магистральных = 190-8295480-4625243; __utmv = 125759317.koicarandsup-20; * * тысяча четыреста тридцать-восемь

х-основная = Qim @ jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

* * На тысячу четыреста сорок один-магистрали = 4 | 3iPYr7E1Pn32BbMI4MHFaMtbn / 0v54qEG1Jn9Pk + 7Hi2Cws1f + jBSUt9oyBzrpy6BX1XCsZ / qoJlbswA0G2U3L9Yhec4CjSlsLZM + mEPRs / AiNAbvuUDzj9wL1HI2x + e7tBqDLhK + fas6R562qkQBX + 9Y7bhE1St11hjislFijGuTcbtr + 5mUz1FuweEFaH / xtHacsJ3Yth9iOiska0CbQ ==;
* +1443 * __ UTMB = 125759317; __utmc = 125759317

HTTP / 1.1 200 OK Дата: пт, 23 сентября 2011 г. 16:30:37 GMT Сервер: Сервер

Дата последнего изменения: пт, 16 сентября 2011 11:22:34 GMT Etag: "23-35b3d280"

Accept-Ranges: байты Content-Length: 35 Cneonction: close

Тип содержимого: изображение / gif


SL75.jpg "> https://images -na.ssl-images-amazon.com / изображения / I / 51993R08WLL. SL75 .jpg

GET /images/I/51993R08WLL.SL75.jpg HTTP / 1.1 Хост:

images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT

6,0; версия: 6.0) Gecko / 20100101 Firefox / 6.0 Принять:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / зм / партнеры / сеть / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 1325 Дата последнего изменения:

Вт, 27 июля 2010 16:47:41 GMT Тип контента: image / jpeg X-Cache-Lookup:

MISS от cdn-images.amazon.com:10080 Cache-Control: public,

max-age = 628244375 Истекает: чт, 21 августа 2031 00:50:12 GMT Дата: пт, 23

сент. 2011 16:30:37 GMT Соединение: keep-alive


SL75.jpg "> https://images -na.ssl-images-amazon.com / изображения / I / 41is% 2B997KUL. SL75 .jpg

GET /images/I/41is%2B997KUL.SL75.jpg HTTP / 1.1 Хост:

images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT

6,0; версия: 6.0) Gecko / 20100101 Firefox / 6.0 Принять:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / зм / партнеры / сеть / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 1662 Последнее изменение:

вс, 11 ноя. 2007 01:27:41 GMT Тип контента: image / jpeg X-Cache-Lookup:

MISS от cdn-images.amazon.com:10080 Cache-Control: общедоступный,

max-age = 628487843 Истекает: сб, 23 августа 2031 20:28:00 по Гринвичу, дата: пт, 23

сент. 2011 16:30:37 GMT Соединение: keep-alive


SL75.jpg "> https://images -na.ssl-images-amazon.com / изображения / I / 518ISDAvx1L. SL75 .jpg

GET /images/I/518ISDAvx1L.SL75.jpg HTTP / 1.1 Хост:

images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT

6,0; версия: 6.0) Gecko / 20100101 Firefox / 6.0 Принять:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / зм / партнеры / сеть / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 1111 Дата последнего изменения:

Вт, 27 июля 2010 г. 00:37:08 GMT Тип содержимого: image / jpeg X-Cache-Lookup:

MISS от cdn-images.amazon.com:10080 Cache-Control: public,

max-age = 628003065 Срок действия истекает: понедельник, 18 августа 2031, 05:48:22 по Гринвичу, дата: пт, 23

сент. 2011 16:30:37 GMT Соединение: keep-alive


SL75.jpg "> https://images -na.ssl-images-amazon.com / изображения / I / 4155OOdySdL. SL75 .jpg

GET /images/I/4155OOdySdL.SL75.jpg HTTP / 1.1 Хост:

images-na.ssl-images-amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT

6,0; версия: 6.0) Gecko / 20100101 Firefox / 6.0 Принять:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / зм / партнеры / сеть / main.html

HTTP / 1.1 200 OK Сервер: Длина содержимого сервера: 1494 Последнее изменение:

Четверг, 20 августа 2009 15:52:47 GMT Тип содержимого: image / jpeg X-Cache-Lookup:

MISS от cdn-images.amazon.com:10080 Cache-Control: public,

max-age = 630336792 Истекает: вс, 14 сентября 2031 06:03:49 GMT Дата: пт, 23

сент. 2011 16:30:37 GMT Соединение: keep-alive


* +1602 * utm.gif? Utmwv = 1 & utmt = вар & utmn = 1408273993" > https://affiliate -program.amazon.com / _utm.gif? Utmwv = 1 & utmt = вар & utmn = 1408273993

GET /__utm.gif?utmwv=1&utmt=var&utmn=1408273993 HTTP / 1.1 Хост:

affiliate-program.amazon.com Пользователь-агент: Mozilla / 5.0 (Windows NT 6.0;

rv: 6.0) Gecko / 20100101 Firefox / 6.0 Принять:

image / png, image / ; q = 0,8, / *; q = 0,5 Accept-Language: en-gb, en; q = 0,5

Accept-Encoding: gzip, deflate Accept-Charset:

ISO-8859-1, utf-8; q = 0,7, *; q = 0,7 Соединение: keep-alive Реферер:

https://affiliate -program.amazon.com / зм / партнеры / сеть / main.html

Cookie: apn-user-id = P0000000000; сеанс идентификатора время = 1317366000l;

Session-Id = 182-9139891-5240049;

__ UTMA = 125759317.157031897.1316727783.1316727783.1316795373.2;

__ utmz = 125759317.1316727783.1.1.utmccn = (прямой) | utmcsr = (прямой) | utmcmd = (нет);

* * Ubid тысяча шестьсот тридцать два магистральных = 190-8295480-4625243; __utmv = 125759317.koicarandsup-20;

х магистральный = Qim @ jFtaFnr4KaiFFutR7WZ1QkQHqoq9;

на-Майне = 4 | 3iPYr7E1Pn32BbMI4MHFaMtbn / 0v54qEG1Jn9Pk + 7Hi2Cws1f + jBSUt9oyBzrpy6BX1XCsZ / qoJlbswA0G2U3L9Yhec4CjSlsLZM + mEPRs / AiNAbvuUDzj9wL1HI2x + e7tBqDLhK + fas6R562qkQBX + 9Y7bhE1St11hjislFijGuTcbtr + 5mUz1FuweEFaH / xtHacsJ3Yth9iOiska0CbQ ==;

* * __ тысячу шестьсот тридцать восемь UTMB = 125759317;__utmc = 125759317

HTTP / 1.1 200 OK Дата: пт, 23 сен 2011 16:30:37 GMT Сервер: Сервер

Последнее изменение: пт, 16 сен 2011 11:22:34GMT Etag: "23-35b3d280"

Диапазон принятия: байты Длина содержимого: 35 Cneonction: закрыть

Тип содержимого: image / gif


Может кто-нибудь пролить свет на то, почему это не работает?

Ответы [ 2 ]

17 голосов
/ 23 сентября 2011

РЕДАКТИРОВАТЬ: Этот код не работает по состоянию на июнь 2016 года. См. этот ответ для объяснения и возможного обходного пути.Та же самая технология, упомянутая в предыдущей ссылке, была добавлена ​​для входа в систему сотрудников.


Я написал этот код, и он хорошо работает для меня, в последнем var_dump я вижу всю информацию о моей учетной записи и тому подобное,Если вы не удалите куки-файлы, вы можете делать последующие запросы на доступ к защищенным страницам, используя свой логин.

Надеемся, это поможет вам узнать, как это сделать.Часто на больших сайтах вам нужно посещать страницу входа, чтобы установить куки, а также они обычно имеют токены csrf на формах, которые вы должны отправить вместе с ними.

Конечно, если amazon изменяет свои формы илиURL-адрес немного, это придется адаптировать, но, надеюсь, они делают это не слишком часто.

<?php

$email    = 'you@yoursite.com';
$password = 'password';

// initial login page which redirects to correct sign in page, sets some cookies
$URL = 'https://affiliate-program.amazon.com/gp/associates/join/landing/main.html';

$ch  = curl_init();

curl_setopt($ch, CURLOPT_URL, $URL);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'amazoncookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'amazoncookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
//curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR,  fopen('php://stdout', 'w'));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$page = curl_exec($ch);

//var_dump($page);exit;

// try to find the actual login form
if (!preg_match('/<form name="sign_in".*?<\/form>/is', $page, $form)) {
    die('Failed to find log in form!');
}

$form = $form[0];

// find the action of the login form
if (!preg_match('/action=(?:\'|")?([^\s\'">]+)/i', $form, $action)) {
    die('Failed to find login form url');
}

$URL2 = $action[1]; // this is our new post url

// find all hidden fields which we need to send with our login, this includes security tokens
$count = preg_match_all('/<input type="hidden"\s*name="([^"]*)"\s*value="([^"]*)"/i', $form, $hiddenFields);

$postFields = array();

// turn the hidden fields into an array
for ($i = 0; $i < $count; ++$i) {
    $postFields[$hiddenFields[1][$i]] = $hiddenFields[2][$i];
}

// add our login values
$postFields['username'] = $email;
$postFields['password'] = $password;

$post = '';

// convert to string, this won't work as an array, form will not accept multipart/form-data, only application/x-www-form-urlencoded
foreach($postFields as $key => $value) {
    $post .= $key . '=' . urlencode($value) . '&';
}

$post = substr($post, 0, -1);

// set additional curl options using our previous options
curl_setopt($ch, CURLOPT_URL, $URL2);
curl_setopt($ch, CURLOPT_REFERER, $URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$page = curl_exec($ch); // make request

var_dump($page); // should be logged in
1 голос
/ 23 сентября 2011

Вам нужно получить amazon, чтобы сначала установить cookie.

Попытка:

// 1. Create a cookie file and set basic params
$ckfile = tempnam ("/your/path/to/cookie/folder", "cookie.txt");
$target_host = "https://affiliate-program.amazon.com";
$target_request = "/gp/flex/sign-in/select.html";
$post_data = "action=sign-in&email=$username&password=$password";

// 2. Visit homepage to set cookie
$ch = curl_init ($target_host);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $ckfile); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec ($ch);

// 3. Continue
$login = curl_init ($target_host.$target_request);
curl_setopt($login, CURLOPT_COOKIESESSION, 1);
curl_setopt($login, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($login, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($login, CURLOPT_TIMEOUT, 40);
curl_setopt($login, CURLOPT_RETURNTRANSFER, 1);        
curl_setopt($login, CURLOPT_HEADER, 1);        
curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($login, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($login, CURLOPT_POST, 1);
curl_setopt($login, CURLOPT_POSTFIELDS, $post_data);
echo curl_exec($login);
curl_close($login);  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...