Свернуть неразрешимый хост?

Мне нужно свернуться с сайта PHP на хост, который неразрешим с целевой машины (curl_error возвращается (6) couldn't resolve host). Хотя на моем локальном компьютере это разрешимо, но после некоторого поиска в Интернете я решил, что это может быть проблема с кэшированием DNS.
У меня есть только FTP доступ к этому веб-серверу, поэтому я не могу перезапустите Apache или отредактируйте файл r.conf.
Я попробовал керлинг, используя IP-адрес, полученный при проверке домена, но, к сожалению, мне нужно делать запросы к поддомену (например, api.domain.com), а запросы к IP-адресу напрямую обрабатываются по-разному.

Я надеялся, что смогу указать поддомен + домен в заголовке хоста (см. Ниже), но это тоже не работает.

$curl = curl_init();

$opt = array(
CURLOPT_URL => 'http://11.22.33.44/handler.php?params=1',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_HTTPHEADER => array('Host: subdomain.domain.com')
);
curl_setopt_array($curl, $opt);
$output = curl_exec($curl);

0

Решение

Альтернативный способ для Host: возиться (если вы используете достаточно новую версию PHP, по-видимому, это в 5.5 или более поздней версии), это предварительно заполнить DNS-кеш libcurl «поддельной» записью для имени хоста, а затем вы можете использовать имя хоста в URL.

Посмотрите опцию CURLOPT_RESOLVE, которая кажется плохо документированной в документах PHP, но об этом можно узнать в трекере ошибок: https://bugs.php.net/bug.php?id=63488&править = 1

Базовая опция libcurl CURLOPT_RESOLVE задокументировано на сайте curl.

1

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

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

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