调用REST api返回FileNotFoundException

焊工

我正在制作我的第一个简单的android应用程序。对于登录,我尝试对网络服务器上的简单API进行请求调用:

URL url = new URL(API);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");

每当我尝试运行此命令时,都会返回以下内容:

java.io.FileNotFoundException: http://www.gildeict.nl/api/gateway1.0.php at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:250)

我也有以下内容 AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

奇怪的是该文件确实存在。我不是Java专业人士,因此可能是我缺少明显的东西。

这么简单的东西怎么可能不起作用?

谢谢。

德米特里·扎耶采夫(Dmitry Zaytsev)

您的代码似乎没问题。错误的原因是服务器为您的请求返回了错误的HTTP代码。

例如,当我尝试使用cURL执行您的请求时:

curl -i -X GET -H "Accept: application/json" -H "Content-Type: application/json; charset=UTF-8" "http://www.gildeict.nl/api/gateway1.0.php"

我得到这个:

HTTP/1.1 500 Internal Server Error
Server: nginx
Date: Wed, 19 Oct 2016 08:16:25 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.26
Access-Control-Allow-Origin: *
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
X-Powered-By: PleskLin

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章