1

经过几天徒劳的搜索和尝试各种建议和示例后,我仍在为此苦苦挣扎。

情况是我们正在开发一个针对开发系统的 Android 应用程序(即不对外开放使用)。它有一个自签名证书。实时系统将有一个“正确的”证书,所以我真的不想为了开发它而禁用证书检查。

我收到的错误是 401 授权错误。我已经通过提琴手尝试了使用授权凭据的请求,并且 REST 服务运行良好。

该证书位于用户下设备上的受信任凭据存储中。

这是建立连接的代码。

try {
         StringBuilder pathName = new StringBuilder();
         StringBuilder data = new StringBuilder();

         pathName.append(getApiCall()+ path);

         URL url = new URL(pathName.toString());

         HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(Proxy.NO_PROXY);

         urlConnection.setRequestProperty("Autorization", getCredentials());
         urlConnection.setDoInput(true);
         urlConnection.setRequestMethod("GET");
         urlConnection.setRequestProperty("Content-Type", "application/json");

         try
         {
             InputStream in = urlConnection.getInputStream();
             BufferedReader r = new BufferedReader(new InputStreamReader(in));

             while ( r.readLine() != null)
             {
                 String dataLine = r.readLine();
                 data.append(dataLine);
             }
         }
         catch (Exception ex2)
         {
             int freda = urlConnection.getResponseCode();
             String fred = urlConnection.getResponseMessage();

             data.append("ERROR");
         }
         finally
         {
             urlConnection.disconnect();
         }

         return data.toString();

    }
    catch (Exception e)
    {
        return "ERROR";
    } 

如果有人能指出我正确的方向,我将不胜感激。

谢谢

史蒂夫

4

0 回答 0