URL是正确的,并且我已经在python中尝试了相同的示例,所以我认为URL不是问题。我猜这和语法有关。我在清单中添加了以下内容:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />这应该会确保我的应用程序可以访问互联网,而且确实如此,因为其他部分工作正常。
下面是我得到一个错误的逻辑:
try {
URL url = new URL("https://centralinda.api.cognitive.microsoft.com/face/v1.0/verify");//?faceId1=" + face1 + "&faceId2=" + face2);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("POST");
urlConnection.setRequestProperty("Ocp-Apim-Subscription-Key", "**");
JSONObject input = new JSONObject();
input.put("faceId1",face1);
input.put("faceId2",face2);
Log.v("beforereq","beforereq");
OutputStreamWriter wr= new OutputStreamWriter(urlConnection.getOutputStream());
wr.write(input.toString());
wr.flush();
Log.v("calling123","calling");
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
bufferedReader.close();
getting = stringBuilder.toString();
Log.v("Gettinganswer", getting);
return getting;
} finally {
urlConnection.disconnect();
}
}
catch(Exception e) {
Log.e("ERROR", e.getMessage(), e);
return null;
}
}发布于 2018-10-26 21:54:52
ping centralinda.api.cognitive.microsoft.com
Ping请求找不到主机centralinda.api.cognitive.microsoft.com。请检查名称,然后重试。
centralinda.api.cognitive.microsoft.com不是有效的主机名。它未在DNS中注册。
发布于 2018-10-26 19:18:10
无法解析主机仅当url出现问题时才显示,您是否尝试过在Postman中调用api?
https://stackoverflow.com/questions/53007438
复制相似问题