因此,我正在使用Java的Signpost OAuth库。我在使用Apache Commons HTTP库时遇到了一些麻烦。看下面的代码:
URL url = new URL("http://api.neoseeker.com/forum/get_pm_counts.json");
HttpRequest request = (HttpRequest) url.openConnection();
consumer.sign(request);
request.connect();
System.out.println("Response: " + request.getResponseCode() + " "
+ request.getResponseMessage());
这是从this example获取的。您可以看到
request
曾经是HttpURLConnection
,但是由于我将使用Apache Commons HTTP库,因此将其更改为HttpRequest
对象。现在,当我调用connect()
,getResponseCode()
和getResponseMessage()
时遇到错误,因为这些函数是针对HttpURLConnection
的。我将使用HttpRequest
中的哪些函数,以便使代码能够正确编译和运行?谢谢! 最佳答案
Signpost有一个单独的模块,用于使用Apache的HTTP客户端。您需要为此使用CommonsHttpOAuthConsumer。
该模块位于此处-http://code.google.com/p/oauth-signpost/downloads/detail?name=signpost-commonshttp4-1.2.1.1.jar&can=2&q=
一些使用它的示例代码在这里-http://code.google.com/p/oauth-signpost/wiki/ApacheCommonsHttp4,但是它归结为实例化CommonsHttpOAuthConsumer而不是普通的实例。
如果您使用的是maven,则坐标在这里,当我试图找出答案时,我找不到任何地方记录的坐标...
<dependency>
<groupId>oauth.signpost</groupId>
<artifactId>signpost-commonshttp4</artifactId>
<version>1.2.1.1</version>
</dependency>