gpt4 book ai didi

java - Google 自定义搜索引擎 android 不接受 %20 或空格

转载 作者:行者123 更新时间:2023-12-01 04:41:17 25 4
gpt4 key购买 nike

编辑2

发现我的错误,我传递了无效的无效参数,只是记得我正在尝试一些东西。

抱歉给大家带来麻烦了

我是第一次使用 Google 自定义搜索引擎,到目前为止一切都很好。但是,当我尝试发送对包含空格的项目的查询时,搜索引擎返回错误的请求响应,例如

    myUrl = (CustomSearchEngineURL + API_KEY + "&cx=" + cxKey + "&q="
+ q.replace(" ", "%20") + "&searchType=" + searchType
+ "&imgType=" + imgType + "&imgSize=" + imgSize + "&num=20&alt=json");

这会返回这个

 com.google.api.client.http.HttpResponseException: 400 Bad Request

编辑

我采纳了 323go 的建议并尝试对我的 q 进行编码,这就是我实现它的方式

String encodedParms = null;
try {
encodedParms = URLEncoder.encode(q, "UTF-8");
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
myUrl = (CustomSearchEngineURL + API_KEY + "&cx=" + cxKey + "&q="
+ encodedParms + "&searchType=" + searchType + "&imgType="
+ imgType + "&imgSize=" + imgSize + "&num=20&alt=json");

Log.d(Tag, myUrl);

HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);

HttpRequest request;
try {
request = httpRequestFactory.buildGetRequest(new GenericUrl(myUrl));
String response = streamToString(request.execute().getContent());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

在我的日志中我得到了这个作为网址

https://www.googleapis.com/customsearch/v1?key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-w&cx=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&q=Sunway+Lagoon+Theme+Park&searchType=image&imgType=photo&imgSize=xxlarge&num=20&alt=json

我仍然遇到同样的错误请求错误

请谁能告诉我我在做什么

最佳答案

为什么不在单词之间添加“+”,我也遇到了同样的问题
使用“word1 word2” - 响应 400 - 错误请求
使用“word1+word2” - 响应 2000 - 错误请求

关于java - Google 自定义搜索引擎 android 不接受 %20 或空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16474380/

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