Java 发送简单的URL参数HttpClient GET请求

Java 发送简单的URL参数HttpClient GET请求,java,android,get,httpclient,url-encoding,Java,Android,Get,Httpclient,Url Encoding,我正在开发一个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.getVal

我正在开发一个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编码器。我做错什么了吗?

您的代码很好。这就是URL编码的工作原理。 在解码时,服务器似乎存在问题

调试服务器是否存在任何可能的解码问题


另请参阅get请求中发送数组的更好方法。

没有问题。%5B是[encondedYeah]没有问题。但我没有得到正确的响应。服务器端是否需要解码。您是否直接在web浏览器上测试了url?如果是,输出是什么?将请求/响应记录在服务器上的调试文件上。它显示了什么?我在rest客户端上尝试了相同的请求。这也没有给出任何结果输出。但若我放入简单参数,那个么rest客户端将得到正确的结果。服务器端可能需要解码吗