0

我使用 Twitter4J 库通过其 Search API 访问 Twitter。我向 Twitter4j 提供了这样一个查询:

Query{query='#hungergames', lang='null', locale='null', maxId=-1, rpp=100, page=-1, since='null', sinceId=241378725860618240, geocode='null', until='null', resultType='recent', nextPageQuery='null'}

result = twitter.search(query); 

但我不确定内部执行的是什么 URL。 关于如何找到它的任何见解?

我知道 Twitter API 记录了我应该如何形成 URL 以在此处查询某些内容,但我想知道 Twitter4J 执行了什么 URL。

4

1 回答 1

1

最简单的方法可能是使用Wireshark之类的工具来嗅探网络流量。

我使用以下代码复制您的查询:

public static void main(String[] args) throws TwitterException {
    Twitter twitter = new TwitterFactory().getInstance();
    Query query = new Query("#hungergames");
    query.rpp(100);
    query.setSinceId(241378725860618240L);
    query.setResultType(Query.RECENT);
    System.out.println(query);
    QueryResult result = twitter.search(query);
    for (Tweet tweet : result.getTweets()) {
        System.out.println(tweet.getFromUser() + ":" + tweet.getText());
    }
}

打印查询的行给了我:

查询{query='#hungergames', lang='null', locale='null', maxId=-1, rpp=100, page=-1, since='null', sinceId=241378725860618240, geocode='null' , 直到='null', resultType='recent'}

通过嗅探网络流量,我发现代码正在请求以下 URL:

http://search.twitter.com/search.json?q=%23hungergames&rpp=100&since_id=241378725860618240&result_type=recent&with_twitter_user_id=true&include_entities=true

于 2012-10-11T01:45:11.533 回答