get запрос на несуществующий домен, зная IP

Предположим, на хостинге есть сайт с привязанным доменом, домен владелец не проплатил, поэтому регистратор его удалил. Но зная IP хостинга и прописав запись себе в hosts, можно спокойно ввести домен в адресную строку и сёрфить по тому сайту. Как в php можно выполнить get-запрос, чтобы отправить его на известный IP-адрес, но передать требуемый мне домен (не меняя глобально hosts) и получить содержимое сайта именно на этом настроенном домене?

Передать его в заголовке host?


Ответы (2 шт):

Автор решения: Daniel Protopopov

Прописывая домен под IP себе в hosts вы всего-навсего сообщаете своей системе что ей не нужно делать DNS запрос, а брать готовый IP адрес из этого файла и на него слать запрос. По сути это ничем не отличается от обычного запроса на этот адрес в браузере и идентичен запросу на этот домен.

Доступ к VirtualHosts на сервере вы точно так не получите так как, если бы посмотрели как он работает в большинстве случаев (порт на виртуальный домен, внутренний IP адрес на домен), вы, проставив внешний IP адрес у себя не сможете узнать на какой внутренний IP адрес он будет выходить.

Смотрите примеры ответов на SuperUser о том, как отослать запрос на IP адрес с нужным вам доменным именем.

PS читая эти ответы понимаю, что «костыль» автора вопроса имеет место быть ;)

→ Ссылка
Автор решения: Давид Манжула

Вот такой вариант должен работать, только что проверил:

<?php
$ch = curl_init('1.2.3.4');
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Host: example.com']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);

Источник: https://stackoverflow.com/a/9932914/5698975

→ Ссылка