首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析Android上HTTP POST的API调用上的主机

问无法解析Android上HTTP POST的API调用上的主机
EN

Stack Overflow用户
提问于 2018-10-26 19:09:10
回答 2查看 614关注 0票数 0

URL是正确的,并且我已经在python中尝试了相同的示例,所以我认为URL不是问题。我猜这和语法有关。我在清单中添加了以下内容:

代码语言:javascript
复制
<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" />

这应该会确保我的应用程序可以访问互联网,而且确实如此,因为其他部分工作正常。

下面是我得到一个错误的逻辑:

代码语言:javascript
复制
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;
            }
        }
EN

回答 2

Stack Overflow用户

发布于 2018-10-26 21:54:52

ping centralinda.api.cognitive.microsoft.com

Ping请求找不到主机centralinda.api.cognitive.microsoft.com。请检查名称,然后重试。

centralinda.api.cognitive.microsoft.com不是有效的主机名。它未在DNS中注册。

票数 1
EN

Stack Overflow用户

发布于 2018-10-26 19:18:10

无法解析主机仅当url出现问题时才显示,您是否尝试过在Postman中调用api?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53007438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档