[英]java getting error 403 on calling web service
我是java的新手,我正在通过web调用webservice并收到错误403,但是当我通过curl调用时它正在工作。这是我的curl代码
$ curl -v -H "Accept: application/json" -H "Content-type: application/json" \
-X GET https://openapi.etsy.com/v2/categories/jewelry?api_key={api_key}
这是Java代码:
try {
URL url = new URL("https://openapi.etsy.com/v2/listings/active?api_key={api_key}");
System.out.println(url.toString());
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/json");
//conn.setRequestProperty("charset", "utf-8");
conn.setRequestProperty("Accept", "application/json");
if (conn.getResponseCode() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
403表示禁止动作。
我的猜测是,使用该Web服务需要身份验证,而您未在代码中提供该服务。
Web服务器可能会响应客户端对Web页面或资源的请求而返回403 Forbidden HTTP状态代码,以指示可以访问该服务器并理解该请求,但是拒绝采取任何进一步的措施。 状态代码403响应是Web服务器被配置为出于某种原因拒绝客户端访问请求的资源的结果。 阅读api并确保在发出请求时不丢失任何内容。我也使用HttpsURLConnection
尝试了POST
,但无法正常工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.