Regd httpclient.executeMethod(request);在服务器上抛出IOException,而在本地eclipse上运行

时间:2017-09-25 17:20:38

标签: java apache https ioexception

尝试搜索我们的博客,但无法找到一些指示,所以张贴,

我正在处理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相同的错误。

1 个答案:

答案 0 :(得分:0)

使用您添加为评论的错误消息,很清楚这里发生了什么。您要连接的服务器使用的是您在命令shell上使用的JVM无法了解的服务器证书。

如果您与commons httpclient一起搜索此错误消息,可以找到几页,例如:一个在StackOverflow