За последние 24 часа нас посетили 18092 программиста и 1655 роботов. Сейчас ищут 1434 программиста ...

Как сделать обновление информера погоды через прокси?

Тема в разделе "Решения, алгоритмы", создана пользователем boomrest, 27 авг 2009.

  1. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Ситуация следующая. Есть локальная сеть. Некоторым пользователям сети доступен Интернет через прокси, некоторые нет. В этой сети крутится мой сайт Apache, PHP, MySQL. Стоит на машине с интернетом.
    Хочу настроить информер погоды онлайн. Чтобы могли смотреть все, в том числе у кого нет Инета.
     
  2. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
  3. S.t.A.M.

    S.t.A.M. Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    1.041
    Симпатии:
    0
    PHP:
    1. <?php
    2.  
    3. function get($url,$proxy) {
    4.         $ch = curl_init();  
    5.         curl_setopt($ch, CURLOPT_URL,$url);
    6.         curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    7.         curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
    8.         curl_setopt($ch, CURLOPT_PROXY, "$proxy");
    9.         $ss=curl_exec($ch);
    10.         curl_close($ch);
    11.         return $ss;
    12. }
    13.  
    14.  
    15.  
    16.       $prox = '62.159.143.172:80'; // адрес прокси
    17.       $a=get('http://2ip.ru/',$prox);  // вместо '2ip.ru/' - адрес Вашего информера
    18.       echo $a;
    19.  
    20. ?>
     
  4. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Большое спасибо за оперативность...
    Пишет: Fatal error: Call to undefined function curl_init() in
    Скачал php_curl.dll, раскомментарил extension=php_curl.dll - та же история.
    Не могли бы подсказать?
     
  5. kostyl

    kostyl Guest

    перезагрузился?
     
  6. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Да. Не помогло
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    boomrest

    посмотри в phpinfo() откуда php.ini берется. как пить дать не оттуда где ты правишь.

    =)))
     
  8. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    php.ini правлю тот, что phpinfo() дает.
    extension=php_curl.dll раскомментарен, сам .dll лежит в \ext
    Подскажите плиз, что я делаю не так
     
  9. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    440Hz
    Спросил бы, для начала, какой денвер он юзает =)
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    boomrest
    Смротри на строку Loaded Configuration File.
     
  11. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    покажи какой?
    скпируй сюда строчку?
     
  12. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    я не психотерапеФт.
    это его проблемы...
     
  13. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Да Денвер у меня
    Строка такая: Z:\usr\local\php5\php.ini
    В общем я поставил обновление для Денвера ошибка пропала, но картинку с погодой не выдает. Пишет казюбры какие-то.

    Что не так подскажите. Вот код:
    Код (Text):
    1.  
    2. <?php
    3. function get($url,$proxy)
    4. { $ch = curl_init();
    5. curl_setopt($ch, CURLOPT_URL,$url);
    6. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    7. curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
    8. curl_setopt($ch, CURLOPT_PROXY, "$proxy"); $ss=curl_exec($ch); curl_close($ch); return $ss;
    9. }
    10.  
    11. $prox = 'ип_прокси:8080';
    12. $a=get('http://info.weather.yandex.net/informer/150x150/27459.png',$prox);  
    13. echo $a;
    14. ?>
    Вместо "ип_прокси" - ип прокси

    Вот казюбры:
    и т.д.
    Подскажите плиз.
     
  14. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    нужно отправить header что мы картинку png показывать будем
     
  15. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Можно по подробнее.. ) Пример что ли.
     
  16. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    перед echo добавь
    header('Content-Type: image/png');
     
  17. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Вот СПАСИБО, все получилось
     
  18. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Получилось то оно получилось. Но только в отдельном файле. Вставляю в сайт - крокозябры опять.
    А нельзя сообщить браузеру про картинку по-другому, не через заголовок.
    Нет возможности запртить вывод в браузер до этого headera просто.
     
  19. kostyl

    kostyl Guest

    boomrest
    отдельным скриптом посылай
     
  20. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    пример бы...
     
  21. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    ох же ж.

    Смотри, есть файл, который генерирует страничку. Где-то в этом файле есть место, где картинку выводим:
    <img src="">

    вот в src нужно прописать адрес второго файла, который эту картинку будет генерировать через curl. Желательно еще сделать кеширование, что б при каждом показе не подключаться к прокси и тд.
     
  22. boomrest

    boomrest Активный пользователь

    С нами с:
    27 авг 2009
    Сообщения:
    18
    Симпатии:
    0
    Получилось =) Надо же...
    Спасибо большое. Действительно профи здесь сидят =) Респект и уважуха УРА