Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: PHP, CODEIGNITER and get_proxy  (Прочитано 987 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 3on

  • Автор темы
  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
PHP, CODEIGNITER and get_proxy
« : 21 Апреля 2011, 12:02:21 »
есть функция get_proxy :

    function get_proxy_10(){
        set_time_limit(0);
        $this->db->empty_table('proxy');
        $proxylist = file('./system/application/config/proxylistprovider.txt');
        $pn = 0;
        foreach($proxylist as $proxy)
        {
            $data = explode(':', $proxy);
            $addr = array('ip' => $data[0], 'port' => $data[1]);
            $fp = @fsockopen($addr['ip'], $addr['port'], $errno, $error, 2);
            if ($fp) {
                $ch=curl_init('http://myip.dk/');
                curl_setopt($ch, CURLOPT_HEADER, 0);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
                curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
                curl_setopt($ch, CURLOPT_PROXY, $proxy);
                curl_setopt($ch, CURLOPT_TIMEOUT, 3);
                $scraped=curl_exec($ch);

                curl_close($ch);
                if (strpos($scraped,$addr['ip'])!== false){
                    $this->db->insert('proxy',array('proxy' => $proxy));
                    $pn++;
                }

            }
            if ($pn>=10){
                return;
            }
        }
        return;
    }

Ищет 10 всех прокси... в файле есть много мёртвых прокси.
Мне нужно что-бы искала 10 норм прокси...
Кто поможет ?

Оффлайн shumtest

  • Активист
  • *
  • Сообщений: 731
  • Это вам просто кажется...
    • Просмотр профиля
    • Блог Шумомера
Re: PHP, CODEIGNITER and get_proxy
« Ответ #1 : 21 Апреля 2011, 22:36:39 »
1) Что значит "Ищет 10 всех прокси..."
2) Вам точно нужно CURLOPT_HTTPPROXYTUNNEL?

Оффлайн 3on

  • Автор темы
  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
Re: PHP, CODEIGNITER and get_proxy
« Ответ #2 : 22 Апреля 2011, 21:17:21 »
1 берёт с .txt файла 10 прокси. а там их много.
2 нужно.

Оффлайн shumtest

  • Активист
  • *
  • Сообщений: 731
  • Это вам просто кажется...
    • Просмотр профиля
    • Блог Шумомера
Re: PHP, CODEIGNITER and get_proxy
« Ответ #3 : 23 Апреля 2011, 02:08:37 »
Можно добавить проверку на curl_errno. Но вообще-то странно. В логике проблем не вижу, должно в дб писать только рабочие прокси..
Посмотрите содержимое $scraped на точно мертвом прокси. Может там ИП есть хотя это и не ответ от сайта (например сообщение от запрете доступа к этому ИП от роутера или еще что)

Оффлайн 3on

  • Автор темы
  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
Re: PHP, CODEIGNITER and get_proxy
« Ответ #4 : 25 Апреля 2011, 14:43:44 »
мне кажется что нужно просто прописать толковый proxy check'ер к этой функции... вот это меня и интересует :)

 

Страница сгенерирована за 0.076 секунд. Запросов: 25.