gpt4 book ai didi

java - 不使用ajax以编程方式搜索google

转载 作者:行者123 更新时间:2023-12-01 09:57:06 25 4
gpt4 key购买 nike

显然谷歌退休了我一直在java for android中使用的ajax api,我挖掘了他们的新API页面,但我找不到任何似乎在java中工作的东西,或者任何与此相关的非网络语言。

这是我之前的:

@Override
protected String doInBackground(String... query) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(new URL("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=" + URLEncoder.encode(query[0], "UTF-8")).openStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();

return sb.toString();
}
catch(Exception e){e.printStackTrace();
return "failed to do anything";
}
}

简单地说,提供一个字符串,并将其附加到 ajax 搜索中。 JSON 形式的结果被处理到字符串生成器中,然后作为整个字符串返回。

如果您现在尝试执行此操作,它将返回以下结果:

{"responseData": null, "responseDetails": "The Google Web Search API is no longer available. Please migrate to the Google Custom Search API (https://developers.google.com/custom-search/)", "responseStatus": 403}

再说一遍,我已经阅读了自定义搜索 API,但没有找到任何可以在 javascript 之外工作的内容。

我更喜欢 JSON 解决方案,因为我已经在使用它,但我可以使用我得到的任何解决方案。

那么,有什么替代方法可以使用类似的方法吗?或者我会被迫使用另一个搜索引擎吗?

//编辑

好的,现在我有了固定的代码。然而,它需要一个 API key ,我不能在我的开源项目中发布它,而且除非我付费,否则搜索量有限,所以我将被迫去找竞争对手。这是任何感兴趣的人的固定代码:

@Override
protected String doInBackground(String... query) {
try {
String APIKey = "INSERT_YOUR_API_KEY";
String customSearchEngine = "INSERT_YOUR_CUSTOM_SEARCH_KEY";
BufferedReader reader = new BufferedReader(new InputStreamReader(new URL("https://www.googleapis.com/customsearch/v1?key=" + APIKey + "&cx=" + customSearchEngine + "&q=" + URLEncoder.encode(query[0], "UTF-8")).openStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();

return sb.toString();
}
catch(Exception e){e.printStackTrace();
return "failed to do anything";
}
}

最佳答案

他们在该网站上提到了 JSON API here

这是一个 REST API。 Google 搜索“Java REST 客户端”以获取有关如何从 Java 使用它的一些示例

关于java - 不使用ajax以编程方式搜索google,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37110670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com