1

Web 検索用の Java での Azure 認証に対する以前の回答を確認したにもかかわらず、アカウント キーが Windows Azure Marketplace のプロファイルとまったく同じであるにもかかわらず、どういうわけか HTTP エラー コード: 401 が表示されます。新しいものを生成しようとしましたが、それもうまくいきませんでした。

そのため、どんな助けでも大歓迎です。

これがJavaコードです(それを使用した他のものと同様):

String bingUrl = "https://api.datamarket.azure.com/Bing/Search/Web?Query='multiple'&$top=4&$skip=1&$format=json";

        String accountKey = "key";
        byte[] encoding = Base64.encodeBase64((accountKey + ":" + accountKey).getBytes());
        String accountKeyEnc = new String(encoding);

        URL url = new URL(bingUrl);
        URLConnection urlConnection = url.openConnection();
        urlConnection.setRequestProperty("Authorization", String.format("Basic ", accountKeyEnc));

        BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
        String inputLine;
        StringBuffer sb = new StringBuffer();
        while ((inputLine = in.readLine()) != null)
          System.out.println(inputLine);
        sb.append(inputLine);
        in.close();
        System.out.println( sb.toString());

そして、私が得るエラーコードは次のとおりです。

java.io.IOException: サーバーが HTTP 応答コードを返しました: URL の 401: https://api.datamarket.azure.com/Bing/Search/Web?Query= 'multiple'&$top=4&$skip=1&$format =json での sun.net.www.protocol.http.HttpURLConnection.getInputStream (不明なソース) での sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(不明なソース) で queryengines.WebSample.DisplayResults(WebSample.java:37 ) queryengines.WebSample.main(WebSample.java:19) で

4

1 に答える 1

1

私は Java の専門家ではありませんが、String.format 呼び出しをこれに変更すべきではありませんか?

String.format("Basic %s", accountKeyEnc)
于 2012-07-27T10:16:20.917 に答える