Я хочу получить полный исходный код HTML с помощью curl / php с веб-сайта, который имеет простой логин.Я могу выполнить процесс входа в систему и получить исходный код, но сервер на другом конце, похоже, игнорирует все параметры html.
Когда я запускаю приведенный ниже код, я получаю исходный код этого URL: https://www.example.com/page, а не https://www.example.com/page?user=1&date=2018-12-12. Если я открою URL с параметрами в любом веб-браузере, он покажет правильный веб-сайт.
Я попытался получить другой сайт с параметрами с другого сервераи веб-сайт, который работал отлично: https://www.example2.com/otherpage?user=1&date=2018-12-12
<?php define('USERNAME', 'user');
define('PASSWORD', '1234');
define('USER_AGENT', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113
Safari/537.36');
define('COOKIE_FILE', 'cookie.txt');
define('LOGIN_FORM_URL', 'https://www.example.com/admin');
define('LOGIN_ACTION_URL', 'https://www.example.com/admin');
$postValues = array(
'user' => USERNAME,
'pass' => PASSWORD
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, LOGIN_ACTION_URL);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($postValues));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE);
curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_REFERER, LOGIN_FORM_URL);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_exec($curl);
if(curl_errno($curl)){
throw new Exception(curl_error($curl));
}
curl_setopt($curl, CURLOPT_URL, "https://www.example.com/page?user=1&date=2018-12-12");
curl_setopt($curl, CURLOPT_COOKIEJAR, COOKIE_FILE);
curl_setopt($curl, CURLOPT_USERAGENT, USER_AGENT);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
echo curl_exec($curl);
?>
Источник: http://thisinterestsme.com/php-login-to-website-with-curl/
Я запутался, потому что он работает с example2.com, но не с example.com (которыеКонечно два разных веб-сервера и сайты).Есть идеи?