Домен PHP cURL по умолчанию равен Localhost

Я запрашиваю сайт с cURL, который автоматически входит в систему, и хотя все работает идеально каждый GET запрос после входа в систему скрипта будет содержать «localhost» в URL-адресе, а не фактический домен сайта, поэтому он выдает 404 не найдена ошибка.

Пример: вместо того, чтобы быть https://remotesite.com/dashboard оно делает http://localhost.com/dashboard (Также обратите внимание, что он не использует https для http://localhost.com/dashboard)

Вот мой код:

$curl = curl_init();

$user_agent = 'Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0';
$url = 'https://remotesite.com/dashboard';
$post_data = 'username=username&password=password&cookie=true&destination=&login=Log+In';

curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt ($curl, CURLOPT_USERAGENT, $user_agent);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($curl, CURLOPT_HEADER, 0);
curl_setopt ($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt ($curl, CURLOPT_COOKIEFILE, "cookie.txt");
curl_setopt ($curl, CURLOPT_COOKIEJAR, "cookie.txt");

$result = curl_exec ($curl);
$errmsg  = curl_error($curl);

echo $result;

1

Решение

Это происходит потому, что сайт, к которому вы пытаетесь получить доступ, использует пути родственников в своих ссылках.
Поэтому вы должны попробовать изменить базовый тег использовать правильный домен.

Этот вопрос может помочь вам: Скручиваемость и относительный путь в <голова> .

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]