файл получает содержимое и порт 8000


На моей странице "ipage", когда я использую file_get_contents по URL-адресу с портом 8000, я ничего не получаю.

Например:

$geturl = file_get_contents('http://mfpradio.no-ip.org:8000/status.xsl');
print_r($geturl);

Это работает локально.

'ipage' даже не читает сценарий после 'print_r'. Он работает, например, с:

$geturl = file_get_contents('http://stackoverflow.com');

Я пробовал curl, та же проблема.

Я могу воспроизводить свой поток на своей странице "ipage".

Таким образом, похоже, что "ipage" блокирует порт "8000" для file_get_contents(). Нормально ли, что веб-хост делает это?

Author: Michael Berkowski, 2012-12-21

3 answers

PHP имеет возможность блокировать работу функций обработки файлов по URL-адресу. Эта опция часто включается хостинговыми компаниями по соображениям безопасности.

Узнайте, какова настройка этого флага - используйте что-то вроде ini_get('allow_url_fopen'), чтобы узнать, разрешено ли это. Я предполагаю, что он будет настроен так, чтобы этого не допустить.

Если это не разрешено хостом, то вам придется использовать альтернативный метод (и, возможно, более сложный) для чтения данных. Обычный ответ заключается в том, чтобы используйте CURL (хотя это может быть довольно многословный код. кроме того, возможно, что расширение CURL также недоступно)

 2
Author: Spudley, 2012-12-20 22:15:19

Почему бы не использовать CURL?

Вы уверены, что сервер может получить доступ к этой странице? Он должен работать с доменом.com:порт

 0
Author: Jordi Kroon, 2012-12-20 22:13:15

Пожалуйста, убедитесь, что сервер http://mfpradio.no-ip.org:8000 / порт, т.е. 8000, открыт в брандмауэре вашего сервера как исходящий порт для чтения информации о странице…

File_get_contents() попробуйте прочитать содержимое страницы с этого порта:)

 0
Author: svnlabs, 2014-01-09 08:05:42