API google 搜索

API google search

我必须创建一个 Web 应用程序。首先,我必须使用 Google 搜索 API。我测试了免费的 Google 搜索 API,它每天发出 100 个请求,但我遇到了一些问题:获得的结果与 Google 中的导航不相同,例如,如果我搜索, "The best universities" 没有 space,它给我这个错误:

java.io.IOException: Server returned HTTP response code: 400 for URL: https://www.googleapis.com/customsearch/v1?key=XXXX&cx=013036536707430787589:_pqjad5hr1a&q=the best universities&alt=json&num=10&start=1
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)

但如果我输入 "The_best_universities" 或 "The+best+universities" 它会正常工作。这是我的查询字符串:

String toSearch = "https://www.googleapis.com/customsearch/v1?key=" + apiKey + "&cx=013036536707430787589:_pqjad5hr1a&q="+ customSearchEngineKey + "&alt=json";

URL 对您的参数进行编码

java.net.URLEncoder.encode(customSearchEngineKey, "UTF-8");