Всем привет. Пытаюсь авторизоваться на сайте, но после отсылки POST запроса получаю это:
Bad Request
Your browser sent a request that this server could not understand.
Reference #7.e4d9ef50.1482352464.3d14f06
Данные 100% отправляются, т.к. случайно локнул себе аккаунт,указав неверный пароль в скрипте.
Из-за чего такая ошибка возникает?
$curl = curl_init();
curl_setopt($curl, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($curl, CURLOPT_URL, 'https://my.asos.com');
$html = curl_exec($curl);
curl_close($curl);
preg_match('/<input id="idsrv_xsrf" name="idsrv.xsrf" type="hidden" value="(.*)"/',$html,$matches);
$idsrv_xsrf = $matches[1];
preg_match('/signin=(.*)&checkout=False&/',$html,$matches);
$link = 'https://my.asos.com/identity/login?signin='.$matches[1].'&checkout=False&showAllOptions=False';
$post = 'idsrv.xsrf='.$idsrv_xsrf.'&Username=example@inbox.ru&Password=password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$html = curl_exec($ch);
curl_close($ch);
в $link - ссылка на обработчик. Да, и ещё авторизация проходит на поддомене (my.sitename.com/signin - авторизация, а после неё редирект на sitename.com с кучей гет-параметров, потом открывается главная sitename.com )
Это весь мой код.
https://my.asos.com - сайт авторизации. Вообще хочу спарсить состояние готовности заказа, но для начала просто авторизоваться. Если подскажете что я делаю неправильно - буду очень благодарен.