Как войти на Amazon с помощью Guzzle PHP
Я пытаюсь войти на Amazon с помощью Guzzle, но мне не везет. Вот мой код:
$client = new \GuzzleHttp\Client(['cookies' => true]);
$response = $client->request('POST', 'https://www.amazon.com/gp/sign-in.html', [
'form_params' => [
'ap_email' => "email@gmail.com",
'ap_password' => "12345678"
]
]);
Когда я получу ответ $response->getBody()->getContents()
при успешном входе в систему возвращается страница входа, а не перенаправленная страница.
1 ответ
В вашем случае лучше использовать веб-скребок, например, Goutte. Он эмулирует пользователя с помощью браузера, поэтому вам не нужно беспокоиться о многих вещах (таких как защита CSRF и другие скрытые поля).
Вы можете использовать его с Guzzle в качестве драйвера, но некоторые сайты могут требовать JavaScript (я не уверен насчет Amazon). Тогда вам нужно перейти в реальный браузер или PhantomJS (разновидность безголового Chrome).