JDK 8 与 JDK 15 Jersey WebResource 的问题

Problem with JDK 8 vs JDK 15 Jersey WebResource

我的网络资源有问题。我正在从服务器请求数据。如果我 运行 带有 JDK 15 的程序,则一切正常。当我 运行 带有 JDK 8 的程序时,我从服务器收到错误 403。 我不知道这是否与它有任何关系,但此服务器之前已从 TLS 1.1 切换到 TLS 1.2。据我所知,JDK8 也应该能够使用 TLS 1.2。查询在转换之前有效。

Client restClient = Client.create();        
WebResource webResource = restClient.resource(url);        
ClientResponse resp = webResource.header("Authorization", "Basic " + authStringEnc)
        .get(ClientResponse.class);
if(resp.getStatus() != 200){
        System.err.println("Unable to connect to the server. Code " + resp.getStatus());
}

非常感谢您的帮助。

史蒂菲

更新: 谢谢您的帮助。在 运行ning ( -Djavax.net.debug=all) 我收到以下消息:

  0000: 48 54 54 50 2F 31 2E 31   20 34 30 33 20 46 6F 72  HTTP/1.1 403 For
  0010: 62 69 64 64 65 6E 0D 0A   44 61 74 65 3A 20 4D 6F  bidden..Date: Mo
  0020: 6E 2C 20 32 31 20 4D 61   72 20 32 30 32 32 20 30  n, 21 Mar 2022 0
  0030: 39 3A 30 39 3A 35 31 20   47 4D 54 0D 0A 43 6F 6E  9:09:51 GMT..Con
  0040: 74 65 6E 74 2D 54 79 70   65 3A 20 74 65 78 74 2F  tent-Type: text/
  0050: 70 6C 61 69 6E 3B 20 63   68 61 72 73 65 74 3D 55  plain; charset=U
  0060: 54 46 2D 38 0D 0A 43 6F   6E 74 65 6E 74 2D 4C 65  TF-8..Content-Le
  0070: 6E 67 74 68 3A 20 31 36   0D 0A 43 6F 6E 6E 65 63  ngth: 16..Connec
  0080: 74 69 6F 6E 3A 20 6B 65   65 70 2D 61 6C 69 76 65  tion: keep-alive
  0090: 0D 0A 58 2D 46 72 61 6D   65 2D 4F 70 74 69 6F 6E  ..X-Frame-Option
  00A0: 73 3A 20 53 41 4D 45 4F   52 49 47 49 4E 0D 0A 52  s: SAMEORIGIN..R
  00B0: 65 66 65 72 72 65 72 2D   50 6F 6C 69 63 79 3A 20  eferrer-Policy:
  00C0: 73 61 6D 65 2D 6F 72 69   67 69 6E 0D 0A 43 61 63  same-origin..Cac
  00D0: 68 65 2D 43 6F 6E 74 72   6F 6C 3A 20 70 72 69 76  he-Control: priv
  00E0: 61 74 65 2C 20 6D 61 78   2D 61 67 65 3D 30 2C 20  ate, max-age=0,
  00F0: 6E 6F 2D 73 74 6F 72 65   2C 20 6E 6F 2D 63 61 63  no-store, no-cac
  0100: 68 65 2C 20 6D 75 73 74   2D 72 65 76 61 6C 69 64  he, must-revalid
  0110: 61 74 65 2C 20 70 6F 73   74 2D 63 68 65 63 6B 3D  ate, post-check=
  0120: 30 2C 20 70 72 65 2D 63   68 65 63 6B 3D 30 0D 0A  0, pre-check=0..
  0130: 45 78 70 69 72 65 73 3A   20 54 68 75 2C 20 30 31  Expires: Thu, 01
  0140: 20 4A 61 6E 20 31 39 37   30 20 30 30 3A 30 30 3A   Jan 1970 00:00:
  0150: 30 31 20 47 4D 54 0D 0A   45 78 70 65 63 74 2D 43  01 GMT..Expect-C
  0160: 54 3A 20 6D 61 78 2D 61   67 65 3D 36 30 34 38 30  T: max-age=60480
  0170: 30 2C 20 72 65 70 6F 72   74 2D 75 72 69 3D 22 68  0, report-uri="h
  0180: 74 74 70 73 3A 2F 2F 72   65 70 6F 72 74 2D 75 72  ttps://report-ur
  0190: 69 2E 63 6C 6F 75 64 66   6C 61 72 65 2E 63 6F 6D  i.cloudflare.com
  01A0: 2F 63 64 6E 2D 63 67 69   2F 62 65 61 63 6F 6E 2F  /cdn-cgi/beacon/
  01B0: 65 78 70 65 63 74 2D 63   74 22 0D 0A 53 65 72 76  expect-ct"..Serv
  01C0: 65 72 3A 20 63 6C 6F 75   64 66 6C 61 72 65 0D 0A  er: cloudflare..
  01D0: 43 46 2D 52 41 59 3A 20   36 65 66 35 38 64 31 36  CF-RAY: 6ef58d16
  01E0: 62 39 65 30 30 66 38 65   2D 56 49 45 0D 0A 0D 0A  b9e00f8e-VIE....
  01F0: 65 72 72 6F 72 20 63 6F   64 65 3A 20 31 30 31 30  error code: 1010

服务器操作员已禁用对订单端点的浏览器完整性检查API。查询现在又开始工作了。我只是不太明白为什么它仍然适用于 JDK15 版本?

非常感谢 Kayaman 的帮助。