сделать php curl с номером порта - PullRequest
1 голос
/ 04 февраля 2012

Я пытаюсь прочитать http://free.freeshoutcast.com:39072/7.html эту страницу, я пробовал этот код,

<?php
function curl_get_file_contents($URL)
    {
        $c = curl_init();
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        echo curl_getinfo($c, CURLINFO_HTTP_CODE);
        curl_setopt($c, CURLOPT_URL, $URL);
        $contents = curl_exec($c);
        echo curl_error($c);
        curl_close($c);

        if ($contents) return $contents;
            else return FALSE;
    }

echo curl_get_file_contents("http://free.freeshoutcast.com:39072/7.html");
?>

Он работает на локальном хосте, но не работает на сервере (godaddy / shared hosting)

  • скручивание включено

  • ошибка «не удалось подключиться к хосту», если я пытаюсь получить файл с номером порта.

  • curl_get_file_contents ("http://www.google.com"); работает.

  • пробовал curl_setopt ($ c, CURLOPT_PORT, "39072"); // та же ошибка.

Где я не прав? Спасибо.


РЕДАКТИРОВАТЬ: Я решил эту проблему с помощью yql , если это кому-то помогает.

Ответы [ 3 ]

2 голосов
/ 04 февраля 2012

Скорее всего, на вашем сервере есть правило брандмауэра, блокирующее исходящий доступ для необычных портов.

1 голос
/ 04 февраля 2012

У Godaddy есть эта вещь, где вы не можете делать определенные вещи. Скорее всего, порт, который вы пытаетесь подключить, заблокирован, поскольку Godaddy вы можете использовать только то, что ОНИ предлагают. У меня неудачный опыт использования Gmail в качестве SMTP, оказывается, что Godaddy не разрешает такие подключения.

Я рекомендую, если вы хотите использовать все возможности php, ОС и т. Д., Затем переключитесь на виртуальный частный хостинг и выберите хороший хостинг с дешевым тарифом. Я счастлив после того, как покинул БД.

1 голос
/ 04 февраля 2012

Вы также можете рассмотреть возможность эмуляции агента пользователя с помощью CURLOPT_USERAGENT. Ранее я работал над проектами, в которых мы не могли получить доступ без установки этого значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...