2012-03-30 40 views
0

我目前堅持了一些Zend的方法,即時通訊嘗試通過代理一個簡單的Zend_Service_Twitter要求,但我不斷收到:Zend_Service_Twitter&Zend_Oauth_Token_Access在代理之後?

無法連接到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(); 

任何指針將不勝感激!

+0

不確定是否相關,但在最後一行代碼中發送錯誤:$ response = $ twitter-> account-> rateLimitStatus(); – 2012-03-30 14:47:44

回答

1

同時利用在Zend_Service_Twitter類定睛一看,所有你需要爲了設置代理參數做的是這樣的:

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

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

($ HttpClient的是一個Zend_Http_Client的實例,其中包含代理配置)