【发布时间】:2018-08-09 09:26:16
【问题描述】:
我目前正在尝试访问位于https://fnbr.co/api/shop 下的 Web API(不是我的)。
我运行的代码基本上是这样的:
URL url = new URL("https://fnbr.co/api/shop");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream());
writer.flush();
System.out.println(conn.getResponseCode()); // second error
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream())); // first error
// read from this reader
控制台输出(响应代码)是
404
FileNotFoundException: https://fnbr.co/api/shop
与conn.getInputStream() 和另一个在同一行
FileNotFoundException: https://fnbr.co/api/shop
与conn.getResponseCode()一致
我的问题在哪里(因为 404 应该意味着文件不存在,但我可以通过浏览器访问它)?
【问题讨论】:
-
你的浏览器使用代理吗?
-
@jhamon 没有,但我的浏览器没有问题,但 java 代码有问题
-
我明白了,我的问题的隐含部分是:也许你没有在代码中设置代理。
-
此 java 代码是否从您使用浏览器访问时获得响应的同一系统执行?
-
@Samy 是的,我使用相同的系统