【问题标题】:HttpGet method with Http and Https Protocols return response 200 for Https but 404 for Http protocol带有 Http 和 Https 协议的 HttpGet 方法对 Https 返回响应 200,但对 Http 协议返回 404
【发布时间】:2019-01-09 03:50:45
【问题描述】:

遇到协议问题,请查找以下代码sn-p。

如果 rquestedUrl 以 https 开头,getResponse.getStatusLine().getStatusCode() 将返回 200,而如果相同的 rquestedUrl 以 http 开头,getResponse.getStatusLine().getStatusCode() 将返回 404。

但如果我通过浏览器点击,我可以在这两种情况下访问请求的文件。您能否让我知道可能出现的问题。 (在调用Orbeon之前用作过滤器,这是在实现WSSO的过程中。)

System.setProperty("javax.net.ssl.trustStore", "path_to_JKSFile");
System.setProperty("javax.net.ssl.trustStoreType","JKS");
System.setProperty("javax.net.ssl.trustStorePassword","password");
String rquestedUrl = "http://bigminds.web.mindblow.com/project/project1/views/files/Home.xhtml";
HttpClient client = HttpClients.createDefault();
HttpGet get = new HttpGet(rquestedUrl);
get.addHeader("Cookie", "somevalues");
get.addHeader("Host", "bigminds.mindblow.com:14325");
HttpResponse getResponse = client.execute(get);

【问题讨论】:

    标签: apache-httpclient-4.x servlet-filters http-get orbeon


    【解决方案1】:

    您访问的端点很可能不接受 http 请求,所有请求都必须通过 https。因此,您的代码没有任何问题,只是没有设置为与您在那里的站点正确集成。查看代码,您可能需要与网络服务器进行某种类型的会话(即:需要登录)才能获取所需的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-22
      • 2020-04-16
      • 2012-05-27
      相关资源
      最近更新 更多