Определить хост и другой адрес запроса на curl - PullRequest
1 голос
/ 05 ноября 2011

Я хочу автоматизировать установку некоторого программного обеспечения на новом хосте для доменов, DNS-серверы которых не направляют этот домен на нужный сервер.

Можно ли выполнить процесс установки с помощью cURL?Тогда мне нужно установить для REQUEST_HOST и REQUEST_ADDR две разные вещи.

Пример:

  • Я бы хотел настроить gordordpress для блога wordpress.tld на компьютере 123.456.789.1
  • Запись DNS для gowordpress.tld установлена ​​в 987.654.321.1
  • Веб-серверу на хосте 123.456.789.1 задано имя сервера .gowordpress.com (nginx)
  • Я бы хотел пройти через шаги, используя скрипт PHP на хосте 123.456.789.1
  • Я хотел бы использовать cURL.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 05 ноября 2011

Необходимо указать IP-адрес в форме URI и указать хост в качестве одного из параметров cURL с CURLOPT_HTTPHEADER:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://123.123.123.123/');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Host: gowordpress.tld') );
$res = curl_exec($ch);
curl_close($ch);
1 голос
/ 05 ноября 2011

Или прямо из командной строки вы можете сделать:

curl -H 'Host: gowordpress.tld' http://123.456.789.1/

Чтобы проверить только статус ответа и заголовки, используйте переключатель -I:

curl -I -H 'Host: gowordpress.tld' http://123.456.789.1/

Утилита Curl доступна во всех системах на основе Debian: apt-get install curl

...