如何在没有url编码的情况下使用java发布url的查询部分
我正在尝试使用已签名的java小程序发布到url,如: 但当java建立连接时,java控制台显示: 网络:连接 我不希望java对查询中的管道从|到%7c进行URL编码。我连接的服务似乎没有对参数进行URL解码,而且我无法更改服务器端代码。java中有没有一种方法可以在不转义查询的情况下发布帖子 我正在使用的java如下所示:如何在没有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
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-否,我通过代理进行了电话确认。