Intereting Posts
org.json.JSONException: значение <HTML> <HEAD> <STYLE типа java.lang.String не может быть преобразовано в JSONObject PDO lastInsertId проблемы, php Загрузить изображение с URL-адреса с помощью php-кода? Обмен данными Symfony 2 между контроллерами Html-форма размещения, данные не переданы забудьте пароль, создав сгенерированный пароль для отправки по электронной почте пользователю. Автоматическое обновление при поступлении нового пользователя Принуждение fputcsv к использованию Enclosure For * all * Fields условие в критериях в yii framework php Как остановить автоматические ротации изображений iMagick на основе данных ориентации EXIF Как объединить массив и сохранить ключи? перенаправить на url, взятый из ответа json может кто-нибудь кратко объяснить Single Sign on? Я хочу использовать openid как SSO как я могу получить данные из местоположения URL-адреса Symfony2 добирается до параметров access_control, расположенных в security.yml

Получение данных с веб-сайта cURL после входа в систему?

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

Мой код:

$username="email"; $password="password"; $url="https://jiltapp.com/sessions"; $cookie="cookie.txt"; $url2 = "https://jiltapp.com/shops/shopname/orders"; $postdata = "email=".$username."&password=".$password; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt ($ch, CURLOPT_TIMEOUT, 60); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt ($ch, CURLOPT_REFERER, $url); curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt ($ch, CURLOPT_POST, 1); $result = curl_exec ($ch); echo $result; curl_close($ch); 

Как я уже говорил, я получаю доступ к основной странице пользователя, но мне нужно захватить содержимое переменной $ url2, а не $ url. Как я могу добиться чего-то подобного?

Спасибо!

Related of "Получение данных с веб-сайта cURL после входа в систему?"

После входа в систему сделайте второй запрос для страницы, содержащей данные, которые вы после.

Для последующих запросов вы должны установить параметр CURLOPT_COOKIEFILE который указывает на тот же файл, что и CURLOPT_COOKIEJAR . cURL будет читать файлы cookie из этого файла и отправлять их с запросом.

 $username="email"; $password="password"; $url="https://jiltapp.com/sessions"; $cookie="cookie.txt"; $url2 = "https://jiltapp.com/shops/shopname/orders"; $postdata = "email=".$username."&password=".$password; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); curl_setopt ($ch, CURLOPT_TIMEOUT, 60); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); // <-- add this line curl_setopt ($ch, CURLOPT_REFERER, $url); curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt ($ch, CURLOPT_POST, 1); $result = curl_exec ($ch); echo $result; // make second request $url = 'page you want to get data from'; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 0); $data = curl_exec($ch);