Участвуй в конкурсе сайтов
Получи профессиональную оценку сайта и
награду за дизайн, контент или технологичность
5235

Не работает cUrl в PHP с хостингом TimeWeb

1 ответ

Здравствуйте.

Имеется домен test1.ru (домен для примера и далее тоже я не тупой), DNS которого привязаны к timeweb. В панели управления доменом присвоена запись поддомена *.test1.ru XXX.XXX.XXX.XXX, где xxx IP адрес сервера, установленного у меня дома.

Через браузер сайт test1.ru тянется с хостинга, а все поддомены успешно открываются с домашнего сервера.

Однако, если с хостинга выполнить простой cUrl запрос на поддомен, то он не возвращает данных, а возвращает страницу заглушку "Разместите свой сайт в timeweb". И не получается дернуть даже содержимое текстового файла.

Файл index.php на test.1ru

Файл file.txt на sub.test1.ru

<?php
function getFromURL() {
$curl = curl_init();

 $url = 'http://sub.test1.ru/file.txt';

 curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_MAXREDIRS, 10);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);

 if($post) {
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, urldecode(http_build_query($params)));
}

 $result = curl_exec($curl);

 @curl_close($curl);

 return $result;
}
?>

Возвращается такое:

HTTP/1.1 302 Moved Temporarily Server: nginx/1.12.1 Date: Tue, 17 Oct 2017 14:05:02 GMT Content-Type: text/html Content-Length: 161 Connection: keep-alive Location: http://patria.timeweb.ru/parking/?ref=sub.test1.ru Cache-Control: no-cache, no-store HTTP/1.1 200 OK Server: nginx/1.12.1 Date: Tue, 17 Oct 2017 14:05:02 GMT Content-Type: text/html; charset=utf-8 Content-Length: 10155 Connection: keep-alive Vary: Accept-Encoding Last-Modified: Tue, 22 Aug 2017 07:25:12 GMT ETag: "27ab-557527eedc600" Accept-Ranges: bytes Больше, чем хостинг. Этот домен припаркован компанией Timeweb....

Помогите разобраться, в чем проблема

Ответы (1)

Бойко Сергей +6
30.11.2017 00:35
CURL в вашем случае работает. Просто вы обращаетесь по URL к домену (сайту) который либо физически не существует (но доменное делегировано на timeweb), либо по данному URL происходит редирект на страницу с заглушкой от timweb. Проверьте адрес для CURL в скрипте.

Похожие вопросы

Виталий Лошков
396

Требуется помощь, консультация, настройка

При выполнении команды конвертации файла в odt из PHP-скрипта: system ("sudo -u root unoconv -f docx file.odt"); время от времени (может раз в день, может раз в неделю) команда перестает работать, при этом ответ от PHP-скрипта никакой не приходит. Лечится...
Andrey
438

Проблема с отправкой почтовой формы

Доброго времени суток. Столкнулся со следующей проблемой - есть небольшой лэндинг на html, в котором есть форма отправки данных на почту gmail.  Для отправки формы используется небольшой php код <?php     if ($_SERVER['REQUEST_METHOD']=='POST'...
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте