6047

Не работает 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)

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

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

Артур
472

Не могу обновиться с версии Joomla 3.9.27 на 3.10.11 и сменить версию PHP 7.4 на 8.0

1 вопрос: Скачал файлы через VPN, пробую через консоль. Выдаёт при загрузке ошибку "500". Никак не могу обновить сайт. Пакеты есть, а сайт не хочет их принять. 2-й вопрос:  Сайт просит сменить версию PHP c 7.4 на 8.0 и выше. Но...
Максим
468

Съезжает картинка, прошу помощи.

Здравствуйте, проблема с сайтом. После редактирования документа PHP, появилась проблема с корректным отображением карты ТЦ.  Проблемный 1й этаж. Но после перехода между разными этажами всё становится номально. <div><img class="image"...

Какой путь у файлов на хостинге?

Залил сайт на хостинг timeweb, но разметка вся исчезла. Дело в путях взаимодействия файлов? Путь на локалхосте у файлов был один, а сейчас на хостинге он другой, так? Нужно ли прописывать в пути файла 'public_html'? Если да, то ставится ли /public_html...
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Войти в Комьюнити
Регистрация в Комьюнити
Восстановление пароля