尝试搜索我们的博客,但无法找到一些指示,所以张贴,
我正在处理httpsClient Post方法代码,如下所示,面向IOException
。小指针可能有所帮助,不需要详细的答案。
HttpClient httpclient = new HttpClient();
request = new PostMethod("https://ref.net/auth/token?grant_type=password");
request.setRequestHeader("Authorization", "Basic KolokYrZTo=");
request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
NameValuePair[] data = {
new NameValuePair("username", "abc"),
new NameValuePair("password", "123"),
new NameValuePair("grant_type", "password"),
};
request.setRequestBody(data);
httpclient.executeMethod(request);
} catch (IOException e) {
e.printStackTrace();
logger.error( "IOException in post()...."+e.getMessage());
}
我在eclipse上使用commons-httpClient 3.1.jar运行此代码,它运行得很好,但是当我将代码移动到服务器并尝试运行相同的代码时,httpclient.executeMethod(request);
抛出IOException。令我惊讶的是,e.printStackTrace();
不打印为e
对象本身为null
我如何捕获此异常并对其进行调试,我在这里做错了什么。
在我的本地我有Java1.8但是在编译器合规级别运行 1.6-在服务器上。我尝试同时运行1.8和1.6相同的错误。
答案 0 :(得分:0)
使用您添加为评论的错误消息,很清楚这里发生了什么。您要连接的服务器使用的是您在命令shell上使用的JVM无法了解的服务器证书。
如果您与commons httpclient
一起搜索此错误消息,可以找到几页,例如:一个在StackOverflow。