Я пытаюсь использовать PHP cURL для входа на веб-сайт и перейти к определенному URL-адресу, чтобы получить его содержимое.cURL follow redirects for Login form
Это страница Пытаюсь зрения: https://dev-portal.getpebble.com/developer
Однако эта страница требует, чтобы пользователь вошел в систему, страница Войти на: https://auth.getpebble.com/users/sign_in
нечетная часть является то, что на странице входа в систему , имеет скрытое значение «authenticity_token», которое должно быть отправлено с формой. Таким образом, мой текущий процесс:
- cURL чтобы получить содержание страницы входа. (Вызов завитка на URL аутентификации)
- Fetch «Подлинность маркер» со страницы (получить маркер для почтовых данных)
- Curl представить на странице входа с подлинностью маркерами + учетными данными (вызов завитка на URL аутентификации с данными записей)
, который работает, как видно на этом снимке (скриншот завитка контента из EXEC): http://i.gyazo.com/4eccb78bf18f72f1da65bc9d8967541e.png
Однако этот процесс приносит мне: https://auth.getpebble.com/me и теперь мне нужно Curl, чтобы привести меня к https://dev-portal.getpebble.com/developer с использованием проверенного сеанса у меня есть. Я попытался сохранить файлы cookie, но он не работает.
После того, как шаг 3 выше, я попытался позвонить cURL на странице https://dev-portal.getpebble.com/developer, но я просто переадресовываюсь на «localhost/users/auth/pebble» (чего даже не существует? Предполагаю, что cURL вызывает страницу перенаправить?), и если я отменит перенаправление до его появления, я получу страницу без проверки: http://i.gyazo.com/218e00c262651017df4dcc1927def87f.png
Вот мой код для создания запросов cURL.
private function cURL($url, $postData = false)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_FORBID_REUSE, TRUE);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookie);
curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
if ($postData)
{
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
}
$content = $this->content = curl_exec($ch);
echo $content;
curl_close($ch);
return $content;
}
Вы пытались подключить прокси-сервер отладки для просмотра данных? –
Я пробую это сейчас @NeilSmithline –