【问题标题】:Twitter4j Api not working, java.net.UnknownHostException: api.twitter.comTwitter4j Api 不工作,java.net.UnknownHostException: api.twitter.com
【发布时间】:2014-07-30 15:33:05
【问题描述】:

我对 twitter API(使用 Twitter4j)阅读我的推文非常陌生。我已经用 twitter 设置了我的应用程序并获得了 KEY、SECRET 和 TOKEN/TOKENSECRET

下面是我写的代码。

   public final class ReadTweets {

   public static void main(String[] args) {

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
        .setOAuthConsumerKey("myKEY")
        .setOAuthConsumerSecret("mySECRET")
        .setOAuthAccessToken("myTOKEN")
        .setOAuthAccessTokenSecret("myTOKENSECRET");

TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();

try {
    ResponseList<Status> a = twitter.getUserTimeline(new Paging(1,5));
    for(Status b :a){
        System.out.println(b.getText());
    }
} catch (TwitterException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
}


}

但我收到以下错误。

  api.twitter.com
  Relevant discussions can be found on the Internet at:
  http://www.google.co.jp/search?q=4be80492 or
  http://www.google.co.jp/search?q=0bf5b837
  TwitterException{exceptionCode=[4be80492-0bf5b837 d7e149ce-72c14a70], statusCode=-1,      message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=4.0.2}
  at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:178)
  at twitter4j.HttpClientBase.request(HttpClientBase.java:53)
  at twitter4j.HttpClientBase.get(HttpClientBase.java:71)
  at twitter4j.TwitterImpl.get(TwitterImpl.java:1556)
  at twitter4j.TwitterImpl.getUserTimeline(TwitterImpl.java:167)
  at com.test.twitter.UpdateStatus.main(UpdateStatus.java:47)
  Caused by: java.net.UnknownHostException: api.twitter.com
  at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
  at java.net.PlainSocketImpl.connect(Unknown Source)
  at java.net.SocksSocketImpl.connect(Unknown Source)
  at java.net.Socket.connect(Unknown Source)
  at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
  at sun.net.NetworkClient.doConnect(Unknown Source)
  at sun.net.www.http.HttpClient.openServer(Unknown Source)
  at sun.net.www.http.HttpClient.openServer(Unknown Source)
  at sun.net.www.protocol.https.HttpsClient.<init>(Unknown Source)
  at sun.net.www.protocol.https.HttpsClient.New(Unknown Source)
  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(Unknown  Source)
  at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
  at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
  at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
  at java.net.HttpURLConnection.getResponseCode(Unknown Source)
  at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(Unknown Source)
  at twitter4j.HttpResponseImpl.<init>(HttpResponseImpl.java:35)
  at twitter4j.HttpClientImpl.handleRequest(HttpClientImpl.java:142)
  ... 5 more

虽然我在我的配置生成器代码中添加了一个代理并且它工作正常。

             ConfigurationBuilder cb = new ConfigurationBuilder();
             cb.setDebugEnabled(true)
            .setOAuthConsumerKey("myKEY")
            .setOAuthConsumerSecret("MySecret")
            .setOAuthAccessToken("Token")
            .setOAuthAccessTokenSecret("TokenSecret")

            .setHttpProxyHost("ProxyServer")
            .setHttpProxyPort(Port);


    TwitterFactory tf = new TwitterFactory(cb.build());
    Twitter twitter = tf.getInstance();

我的问题是为什么我必须使用代理才能让我的代码正常工作。有没有其他办法?

【问题讨论】:

  • 您好,问题通过添加以下行解决了 setOAuthAccessTokenSecret("TokenSecret").setHttpConnectionTimeout(100000);

标签: java twitter twitter4j


【解决方案1】:

此错误通常是由您的虚拟机未连接到互联网引起的(我假设您使用的是虚拟机 - vm)。确保您的 VM 已连接到 Internet。尝试谷歌一个公共网站,看看它是否已连接。 让我给你一些关于这个错误的背景。只需查看您的日志文件并注意以下行 引起:java.net.UnknownHostException: api.twitter.com

这表明您的应用程序无法识别您的接收器和源,因为您的虚拟机没有连接到互联网(我曾经遇到过同样的问题,后来发现是什么原因造成的)。还要检查您将水槽连接到系统接收器的端口号。 干杯。

【讨论】:

    【解决方案2】:

    您使用的网络正在使用代理作为互联网的网关,很难绕过它,您必须使用代理设置,或者使用其他网络连接到互联网。

    【讨论】:

      【解决方案3】:

      您好,问题通过添加以下行解决了 setOAuthAccessTokenSecret("TokenSecret").setHttpConnectionTi‌​meout(100000)

      【讨论】:

        猜你喜欢
        • 2013-06-09
        • 1970-01-01
        • 1970-01-01
        • 2019-10-26
        • 2015-10-15
        • 2021-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多