如何在没有url编码的情况下使用java发布url的查询部分

如何在没有url编码的情况下使用java发布url的查询部分,java,url-encoding,urlconnection,Java,Url Encoding,Urlconnection,我正在尝试使用已签名的java小程序发布到url,如: 但当java建立连接时,java控制台显示: 网络:连接 我不希望java对查询中的管道从|到%7c进行URL编码。我连接的服务似乎没有对参数进行URL解码,而且我无法更改服务器端代码。java中有没有一种方法可以在不转义查询的情况下发布帖子 我正在使用的java如下所示: try { URL url = new URL(myURL); URLConnection connection = url.open

我正在尝试使用已签名的java小程序发布到url,如:

但当java建立连接时,java控制台显示:

网络:连接

我不希望java对查询中的管道从|到%7c进行URL编码。我连接的服务似乎没有对参数进行URL解码,而且我无法更改服务器端代码。java中有没有一种方法可以在不转义查询的情况下发布帖子

我正在使用的java如下所示:

try {
        URL url = new URL(myURL);
        URLConnection connection = url.openConnection();
        connection.setDoOutput(true);

        OutputStreamWriter out = new OutputStreamWriter(
                connection.getOutputStream());
        out.write(toSend);
        out.close();

        BufferedReader in = new BufferedReader(
                new InputStreamReader(
                        connection.getInputStream()));

        String decodedString = "";

        while ((decodedString = in.readLine()) != null) {
            totalResponse = totalResponse + decodedString;
        }
        in.close();

    } catch (Exception ex) {
    }

谢谢你的帮助

URL类不进行任何编码。在我的开发服务器上进行测试证实了这一怀疑。您的代码必须在问题中包含的代码片段之前的某个地方对
“|”
字符进行编码。

“Urlencoding/Urlencoding”--它是HTTP协议的一部分。即使您所连接的服务不进行URL解码,它也应该在
参数
中获得原始的
50414f9015496ea699f3d2dbab4ac2 124411 | 163843 | 557 | 1 | 164 |尝试| 163015
。在调用
new URL()
之前,你确定你的代码没有操作
myURL
?myURL==它在java控制台中我看到:network:Connecting with proxy=HTTP@localhost/127.0.0.1:8888如果你在测试期间观察java控制台,那么network:line生成的代码是否显示为URLCoded?@RouterBox-否,我通过代理进行了电话确认。