【问题标题】:How to pass security cookies into a HttpClient Get request (Apache Commons)如何将安全 cookie 传递到 HttpClient Get 请求(Apache Commons)
【发布时间】:2016-02-03 19:39:42
【问题描述】:

我需要在需要身份验证的 URL 上调用 GET 请求。在做 curl 时,我可以通过简单地传递记住我和 jSession cookie 的值来解决这个问题......

curl -v -b "mysite_remember_me=MToxNDU5MzcwODg1MDU1Ojk0YmYwMjI1NDI5MTZZkMGM2NzRkMzkx;JSESSIONID=2FDB2480CD28D99147C281.app1" "www.mysite.com/doSomething/play/416?confirmed=false&contentType=2"

但是当我尝试像这样在 Java 中复制它时......

HttpMethod method = new GetMethod("www.mysite.com/doSomething/play/416?confirmed=false&contentType=2&source=sourceSku")

org.apache.commons.httpclient.Cookie cookie1 = new
    org.apache.commons.httpclient.Cookie();

org.apache.commons.httpclient.Cookie cookie2 = new
    org.apache.commons.httpclient.Cookie();

cookie1.setName("mysite_remember_me");
cookie1.setValue("MToxNDU5MzcwODg1MDU1Ojk0YmYwMjI1NDI5MTZZkMGM2NzRkMzkx");

 cookie2.setName("JSESSIONID");
 cookie2.setValue("2FDB2480CD28D99147C281.app1");

httpClient.getState().addCookie(cookie1);
httpClient.getState().addCookie(cookie2);

responseCode = httpClient.executeMethod(method)

我得到了这个异常...

Caught: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:  sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  javax.net.ssl.SSLHandshakeException:   sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747)

【问题讨论】:

    标签: java curl cookies apache-commons-httpclient


    【解决方案1】:

    我认为问题在于目标服务器上的 SSL 证书尚未安装到您的 JRE 的 cacerts 文件中。该错误是由于您的 Java 应用程序在使用 HTTP 客户端调用 URL 时不信任目标 URL 的 SSL 证书。首先使用 http://opentox.ntua.gr/files/InstallCert.zip 之类的 java 工具安装它。

    请参阅http://www.opentox.org/tutorials/q-edit/how-to-install-ssl-certificates 了解如何执行此操作。

    【讨论】:

      猜你喜欢
      • 2019-10-12
      • 2020-01-29
      • 1970-01-01
      • 2012-04-12
      • 2016-08-24
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      相关资源
      最近更新 更多