2013-04-08 59 views
0

我運行以下代碼在twitter上使用twitter4j-core-2.2.6.jar進行推文發送。拒絕與twitter4j連接

package twitter4j.examples.tweets; 
//import java.awt.List; 

import java.util.List; 
import twitter4j.Status; 
import twitter4j.Twitter; 
import twitter4j.TwitterException; 
import twitter4j.TwitterFactory; 
import twitter4j.auth.OAuthAuthorization; 
import twitter4j.conf.ConfigurationBuilder; 

public class TwitterTest{ 
    private static final String ACCESS_TOKEN = ""; // proper access_token 
    private static final String ACCESS_TOKEN_SECRET = ""; // proper secret_token 
    private static final String CONSUMER_KEY = ""; // proper consumer_key 
    private static final String CONSUMER_SECRET = ""; // proper consumer_secret 

    public static void main(String[] args) 
    { 
     ConfigurationBuilder builder = new ConfigurationBuilder(); 
     builder.setOAuthAccessToken(ACCESS_TOKEN); 
     builder.setOAuthAccessTokenSecret(ACCESS_TOKEN_SECRET); 
     builder.setOAuthConsumerKey(CONSUMER_KEY); 
     builder.setOAuthConsumerSecret(CONSUMER_SECRET); 
     OAuthAuthorization auth = new OAuthAuthorization(builder.build()); 

     Twitter twitter = new TwitterFactory().getInstance(auth); 
     /* List<Status> statuses = null; 
     try { 
      statuses = twitter.getHomeTimeline(); 
     } catch (TwitterException e1) { 
      System.out.println("Error"); 
      e1.printStackTrace(); 
     } 
     System.out.println("Showing home timeline."); 
     for (Status status : statuses) { 
      System.out.println(status.getUser().getName() + ":" + 
           status.getText()); 
     }*/ 
     try 
     { 
      twitter.updateStatus("Hello World!"); 
      System.out.println("yessssss\n"); 
     } catch (TwitterException e) 
     { 
      System.err.println("Error occurred while updating the status!="+e.getErrorMessage()); 
      e.printStackTrace(); 
      return; 
     } 
     System.out.println("Successfully updated the status."); 
    } 
} 

當我將狀態更新爲非空狀態時,它給了我以下錯誤。

TwitterException{exceptionCode=[126cde36-60c4a990 126cde36-60c4a966], statusCode=-1, retryAfter=-1, rateLimitStatus=null, featureSpecificRateLimitStatus=null, version=2.2.6} 
     at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:200) 
     at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:65) 
     at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:102) 
     at twitter4j.TwitterImpl.post(TwitterImpl.java:1762) 
     at twitter4j.TwitterImpl.updateStatus(TwitterImpl.java:399) 
     at twitter4j.examples.tweets.TwitterTest.main(TwitterTest.java:42) 
    Caused by: java.net.ConnectException: Connection refused 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327) 
     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193) 
     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180) 
     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) 
     at java.net.Socket.connect(Socket.java:546) 
     at sun.net.NetworkClient.doConnect(NetworkClient.java:173) 
     at sun.net.www.http.HttpClient.openServer(HttpClient.java:409) 
     at sun.net.www.http.HttpClient.openServer(HttpClient.java:530) 
     at sun.net.www.http.HttpClient.<init>(HttpClient.java:240) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:321) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:338) 

我該如何解決這個問題?

的拒絕連接相關討論可以在互聯網上找到:

+0

我得到它的工作。基本上我使用代理,我沒有設置代理。以下兩行解決了這個問題。 System.setProperty( 「http.proxyHost」, 「10.3.100.211」); System.setProperty(「http.proxyPort」,「8080」); – 2013-04-09 13:18:25

+0

如果您可以發佈該答案並接受該答案,它可能會幫助遇到同樣問題的未來用戶。 – thegrinner 2013-04-09 18:55:35

回答

0

試圖改變

OAuthAuthorization auth = new OAuthAuthorization(builder.build()); 
Twitter twitter = new TwitterFactory().getInstance(auth); 

TwitterFactory twitterFactory = new TwitterFactory(builder.build()); 
Twitter twitter = twitterFactory.getInstance(); 

這應該工作