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;
}
}
答案 0 :(得分:1)
> ping centralinda.api.cognitive.microsoft.com
Ping请求找不到主机centralinda.api.cognitive.microsoft.com。请检查名称,然后重试。
centralinda.api.cognitive.microsoft.com不是有效的主机名。它没有在DNS中注册。
答案 1 :(得分:0)
无法解析主机,仅在URL存在问题时显示,您是否尝试过在邮递员中调用api?