【发布时间】:2015-09-27 13:20:42
【问题描述】:
我正在开发一个 Android 应用程序,我试图在其中发送一个简单数组作为 URL 参数,但它无法正常工作。我正在使用 HTTP 客户端和 GET 方法。我已经通过以下方式进行了尝试:
StringBuilder sb = new StringBuilder();
sb.append(URLEncoder.encode(e.getKey(), "UTF-8")).append('=').append(URLEncoder.encode(e.getValue()+"", "UTF-8"));
where e.getValue() is ArrayList<Integers>
当我发送 [28] 时,我的 URL 参数会附加 %5B28%5D。如果我不使用 URL 编码器,那么它是 [28] 但我想使用 URL 编码器。我做错什么了吗?
【问题讨论】:
-
没有错。 %5B 是 [ 编码
-
是的,没有错。但我没有得到适当的回应。服务器端是否需要解码。
-
您是否直接在网络浏览器上测试过该网址?如果是这样,输出是什么?在服务器上的调试文件中记录请求/响应。它显示了什么?
-
我在休息客户端上尝试了相同的请求。这也没有给出任何输出。但是,如果我输入简单的参数,那么让客户端得到正确的结果。服务器端可能有解码要求
标签: java android get httpclient url-encoding