1

実りのない検索とさまざまな提案や例の試行の数日後、私はまだこれに苦労しています.

状況は、DEVELOPMENT システムに対して Android アプリを開発している (つまり、IT の外部で使用するために開かれていない) ことです。自己署名証明書があります。ライブシステムには「適切な」証明書があるため、証明書を開発するためだけに証明書チェックを無効にしたくありません。

表示されるエラーは 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