Я пытаюсь войти на внешнюю веб-страницу, используя php-скрипт с cURL. Я новичок в cURL, поэтому чувствую, что мне не хватает кусочков. Я нашел несколько примеров и изменил их, чтобы разрешить доступ к страницам https. В конечном счете, моя цель - войти в систему на странице и загрузить CSV, указав указанную ссылку после входа в систему. До сих пор у меня есть скрипт, который проверяет вход на страницу; сценарий показан ниже:PHP cURL перенаправляет на localhost
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.websiteurl.com/login');
curl_setopt($ch, CURLOPT_POSTFIELDS,'Email='.urlencode($login_email).'&Password='.urlencode($login_pass).'&submit=1');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3");
curl_setopt($ch, CURLOPT_REFERER, "https://www.websiteurl.com/login");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$output = curl_exec($ch);
У меня есть несколько вопросов. Во-первых, есть ли причина, по которой это не перенаправляет самостоятельно? Единственный способ для меня, чтобы просмотреть содержимое страницы является
echo $output
даже если CURLOPT_RETURNTRANSFER и CURLOPT_FOLLOWLOCATION оба устанавливаются в True.
Во-вторых, URL-адрес страницы остается на «localhost/folderName/test.php», а не на фактический веб-сайт. Может ли кто-нибудь объяснить, почему это происходит? Поскольку сценарий фактически не перенаправляется на зарегистрированную веб-страницу, я не могу сделать ничего, что мне нужно сделать.
Имеет ли моя проблема куки? Мой файл cookie.txt находится в той же папке, что и мой .php-скрипт. (Я использую wampServer btw). Должен ли он находиться в другом месте?
Как только я смогу исправить эти две проблемы, кажется, что все, что мне нужно сделать, это перенаправить на ссылку, которая начнет процесс загрузки файла CSV.
Спасибо за любую помощь, высоко ценим!
Отлично, спасибо! Я только что вернулся к документации, и вы ответили на эту часть, прежде чем я получил чтобы изменить мой пост! – Chimi
Привет, я прочитал, что вы опубликовали, и когда я перенаправляюсь на сайт (где он должен идти после входа в систему), он отправляет меня на страницу входа в систему, если я не вошел в систему. Таким образом, похоже, что существует разрыв между выводимым мной результатом, что делает его похожим на то, что я вошел в систему и фактически заходил на сайт. Чтобы уточнить, что я хочу сделать, так это иметь возможность входа на сайт и затем автоматически загружать определенный файл (путем перехода к ссылке на этом веб-сайте в качестве зарегистрированного пользователя). – Chimi
Теперь я понимаю ваш комментарий о файлах cookie ... Вы пытались увидеть, какие файлы cookie создаются при входе в систему вручную? Вы видите то же самое после вашего запроса на завивание? – Floris