繁体   English   中英

RESTFUL码头服务返回403错误Java

[英]RESTFUL jetty service returning 403 error java

当我尝试从我的Java代码调用它时,我面临来自https REST服务的HTTP 403 Forbidden响应。 您能告诉我我是否在这里遗漏了什么吗?

请注意,当我从任何浏览器/ SOAPUI / Chrome Postman客户端触发请求时,服务器将返回预期数据。 使用2个对等证书-如发送请求后来自soapui的ssl信息所示。

该代码段已附加。 [我在代码中设置的标头取自从成功请求中找到的请求标头]

HttpsURLConnection connection = (HttpsURLConnection)new URL("https://server address").openConnection();
connection.setRequestProperty("Authorization", "Basic " + authStringEnc);
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
connection.setRequestProperty("Accept-Encoding","gzip, deflate, br");
connection.setRequestProperty("User-Agent", "Apache-HttpClient/4.1.1");
connection.addRequestProperty("Connection", "Keep-Alive");
connection.addRequestProperty("Cache-Control","no-cache");
connection.setRequestMethod("GET");
connection.connect();

System.out.println("Response Code : " + connection.getResponseCode()+" "+connection.getResponseMessage());

响应码:403 Forbidden

您可以检查服务器URL是否为Java可接受格式吗?
有时Java需要转义字符才能正确识别字符串。 这个问题: 所有转义字符是什么? ,可以帮助您检查是否正在使用这些字符中的任何一个。 还要检查函数中的转换是否正确完成。
另外,如果您具有更复杂的URL,请考虑使用java.net.URL。
最后,检查用户代理参数“ 设置Java URLConnection的用户代理”

感谢您的答复。 问题在于会话cookie用于连接。 一旦带有JSESSIONID的cookie作为标头传递,我们就可以连接并使用响应代码HTTP 200获取响应。 再次感谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM