Bing 搜索 API:使用正确的订阅密钥时出现 401 访问被拒绝错误

问题描述 投票:0回答:1

我正在尝试使用 Java 连接到 Bing 搜索 API。

但是,调用

connection.getInputStream()
,它会抛出 HTTP 401 错误。

即使我故意使用不正确的订阅密钥,也会发生同样的错误。我确信我的实际订阅密钥是正确的。

关于为什么会发生这种情况有什么想法吗?

java azure azure-api-management bing-api
1个回答
-1
投票

我在尝试调用 Bing 网络搜索 API 时遇到了同样的错误。我通过创建认知服务实例并使用其端点和密钥解决了这个问题:

enter image description here

这是我基于你的测试代码:

import java.io.InputStream;
import java.net.URL;
import java.net.URLEncoder;

import javax.net.ssl.HttpsURLConnection;

public class HTTPtest {

    public static void main(String[] args) {
        String Endpoint = "<Endpoint>";
        String key = "<key>";

        String input = "Bill Gates divorce";

        try {
            URL url = new URL(Endpoint + "bing/v7.0/search" + "?q=" + URLEncoder.encode(input, "UTF-8"));

            HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
            connection.setRequestProperty("Ocp-Apim-Subscription-Key", key);

            InputStream stream = connection.getInputStream();

            System.out.println(new String(stream.readAllBytes()));

        } catch (Exception e) {

            System.out.println(e.getMessage());

        }
    }
}

结果:

enter image description here

如果您还有其他问题,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.