【问题标题】:Windows Azure Authentication in JavaJava 中的 Windows Azure 身份验证
【发布时间】:2012-07-27 10:13:48
【问题描述】:

即使我检查了以前在 java 中用于 web 搜索的 azure 身份验证的答案,但不知何故,我仍然得到 HTTP 错误代码:401,即使帐户密钥与我在 Windows Azure Marketplace 中的配置文件中完全相同。我尝试生成一个新的,但也没有用。

因此,我们将不胜感激。

这里是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 响应代码:401 用于 URL: 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)

【问题讨论】:

    标签: java web-services authentication azure


    【解决方案1】:

    我不是 Java 专家,但您不应该将 String.format 调用更改为此吗?

    String.format("Basic %s", accountKeyEnc)
    

    【讨论】:

    • 谢谢,这就是问题所在,尽管在我在我的 Ubuntu 机器上尝试它并且没有工作之前,但在 Windows 中这似乎是问题所在。奇怪的是,在 Ubuntu 中,我怀疑是 https 协议导致了这个问题。
    • 是的,就是这样,现在我看到以前我没有将 %s 放在“基本”之后。这似乎解决了它。非常感谢您的快速回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-22
    • 2015-02-02
    相关资源
    最近更新 更多