Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Zend запрос через не стабильный прокси 
:(
    Опции темы
taral
Дата 26.3.2014, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 17.1.2008

Репутация: нет
Всего: нет



Пробую настроить запросы на сервер через прокси. Использую библиотеку Zend_Http_Client.
Вот простой пример запроса
Код

        $config = array(
            'adapter'    => 'Zend_Http_Client_Adapter_Proxy',
            'proxy_host' => '***.***.***.***',
            'proxy_port' => 3180,
        );
        $client = new Zend_Http_Client('http://google.com', $config);
        $response=$client->request();
        echo $response->getBody();

Прокси сервер примерно в 30% случаев обрывает соединение. Выкидывает ексепшн Zend_Http_Client_Adapter_Exception "Unable to Connect to ...host..."
Я решил пока эту проблему таким образом
Код

class ...
     public function ...
        $config = array(
            'adapter'    => 'Zend_Http_Client_Adapter_Proxy',
            'proxy_host' => '***.***.***.***',
            'proxy_port' => 3180,
        );
        $client = new Zend_Http_Client('http://google.com', $config);
        $response=$this->tryConnect($client);
        echo $response->getBody();
    ...


    public function tryConnect(Zend_Http_Client $client, $i=1) {
        try {
            return $client->request();
        } catch(Zend_Http_Client_Adapter_Exception $exception) {
            if($i>7) {
                throw new CException($exception->getMessage());
            } else {
                return $this->tryConnect($client, ++$i);
            }
        }
    }
...

Грубо говоря делаю 7 попыток выполнить запрос. Это в принципе то что мне нужно. Но мне не нравится каким образом я достиг этого решения. Я думаю что должно быть что то более изящное. Спасибо.

Это сообщение отредактировал(а) taral - 26.3.2014, 18:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Extensions | Следующая тема »


 




[ Время генерации скрипта: 0.1120 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.