4715

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

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

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

Толя Багров
172

рестарт php

Здравствуйте В инструкции https://timeweb.com/ru/community/articles/instrukciya-po-nastroyke-vds-bazovaya-konfiguraciya-i-rabota-s-lemp-1 сказано заменить в php.ini строку ;cgi.fix_pathinfo=1 на  cgi.fix_pathinfo=0 и перезагрузить...
Арина
168

Код метрики

Как найти файлы страниц c кодом метрики на сервере через ftp? Метрика настроена в панели управления PHPShop
Арина
368

Доступ к исходному коду сайта

Добрый день! Подскажите, пожалуйста, почему не открывается html-код страниц сайта? Настроила ftp-доступ к хостингу, открывается как показано на 1 скрине. На других скринах - код в браузере и его расположение на сервере
С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
С помощью соцсетей
У меня уже есть аккаунт Войти
Нажимая кнопку «Зарегистрироваться», я даю согласие на обработку своих персональных данных, указанных в форме регистрации.
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email, который Вы использовали для входа на сайт.