0

URL から応答コードを取得しようとしています:

    final SSLContext sslContext = SSLContext.getInstance( "SSL" );
    Utils.noCerts(sslContext);
    SSLSocketFactory socketFactory = sslContext.getSocketFactory();

    URL url = new URL("https://abc.def.efg:1234/hij/klm.svc/nop");
    HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
    urlConnection.setRequestMethod("HEAD");
    urlConnection.setSSLSocketFactory(socketFactory);

    int responseCode = urlConnection.getResponseCode();
    System.out.println(responseCode);

ネットワーク内の複数の URL でこれを試しました。一部の人にとっては、うまく機能します。レスポンスコードを完璧に教えてくれます。ただし、他のリンクを使用すると、401 が表示され (Chrome 経由でアクセスできる場合でも)、次のエラーが表示されます。

2013-12-09 09:21:40.590 java[32438:1203] Unable to load realm info from SCDynamicStore

認証の問題かもしれないと思いました。したがって、「urlConnection」を作成した後、次のコードも追加しました。

    String userPassword = "user:password";  //hardcoded for now
    String encoding = new BASE64Encoder().encode((userPassword).getBytes());
    urlConnection.setRequestProperty("Authorization", "Basic" + encoding);

ただし、それでも 401 が返され、上記と同じエラー メッセージが表示されました。

この問題の原因についてのアイデアや情報は素晴らしいでしょう。前もって感謝します。

4

1 に答える 1