Zend_Service_Twitter & Zend_Oauth_Token_Access за прокси? - PullRequest
0 голосов
/ 30 марта 2012

В настоящее время я застрял с некоторыми из методов Zend, я пытаюсь сделать простой запрос Zend_Service_Twitter через прокси, однако я продолжаю получать:

Невозможно подключиться к tcp: //api.twitter.com: 80. Ошибка № 0: php_network_getaddresses: сбой gethostbyname.

Я могу выполнять http-вызовы с библиотекой Zend_Http_Client сам по себе, поэтому я считаю, что моя проблема заключается в коде, где я передаю экземпляр httpClient в Zend_Service_Twitter ... Но я полагаю, что достаточно, я имею в виду следующее:

   $config = array(
                'adapter' => 'Zend_Http_Client_Adapter_Proxy',
                'proxy_host' => self::PROXY_HOST,
                'proxy_port' => self::PROXY_PORT,
                'timeout' => 240,
            );
$httpClient = new Zend_Http_Client(self::TWITTER_API_URL, $config);

            $token = new Zend_Oauth_Token_Access;
            $token->setParams(array(
                Zend_Oauth_Token_Access::TOKEN_PARAM_KEY => self::TWITTER_OAUTH_TOKEN,
                Zend_Oauth_Token_Access::TOKEN_SECRET_PARAM_KEY => self::TWITTER_OAUTH_TOKEN_SECRET
            ));


            $twitter = new Zend_Service_Twitter(array(
                        'username' => 'MYUSERNAME',
                        'accessToken' => $token
                    ));
            $twitter->getHttpClient($httpClient);
            $response = $twitter->account->rateLimitStatus();

Любые указатели будут оценены!

1 Ответ

1 голос
/ 30 марта 2012

При более внимательном рассмотрении класса Zend_Service_Twitter все, что вам нужно сделать для настройки параметров прокси, это:

$twitter = new Zend_Service_Twitter(array(
                        'username' => 'MYUSERNAME',
                        'accessToken' => $token
                    ));

 $twitter->setLocalHttpClient($twitter->getHttpClient($httpClient));

($ httpClient является экземпляром Zend_Http_Client, который содержит ваш проксиконфигурация)

...