Java 有没有一种方法可以在构造URI时故意忽略RFC-2396

Java 有没有一种方法可以在构造URI时故意忽略RFC-2396,java,uri,Java,Uri,我正试图构造一个带有非法字符的java.net.URI,因为服务器是一个旧硬件,无法解码RFC-2396 complients URI。此服务器需要一个具有如下URI的http get http://192.168.5.10/cgi-bin/Read.exe?+0+ABC/info.xml+<g>Template</g> http://192.168.5.10/cgi-bin/Read.exe?+0+ABC/info.xml+模板 ?+0+ABC/info.xml+

我正试图构造一个带有非法字符的java.net.URI,因为服务器是一个旧硬件,无法解码RFC-2396 complients URI。此服务器需要一个具有如下URI的http get

http://192.168.5.10/cgi-bin/Read.exe?+0+ABC/info.xml+<g>Template</g> 
http://192.168.5.10/cgi-bin/Read.exe?+0+ABC/info.xml+模板
?+0+ABC/info.xml+Template
是URI的非法部分,我将得到一个java.net.MalformedURLException异常

将URI的这部分解码为
%2B0%2BABC%2fino.xml%2B%3Cg%3ETemplate%3C%2Fg%3E
获取服务器异常


我想知道是否有办法在线获取非RFC-2396 complient java.net.URI

做到这一点的唯一方法是根本不使用URLConnection,只需手工编写HTTP请求

如果您连接到的硬件已确定,因此您非常确定预期的标头,这应该不会那么困难;HTTP是一个相对简单的协议


我自己做过一次:)

做这件事的唯一方法是根本不使用URLConnection,而是手工编写HTTP请求

如果您连接到的硬件已确定,因此您非常确定预期的标头,这应该不会那么困难;HTTP是一个相对简单的协议


我自己做过一次:)

Thx-我怀疑我必须多走一英里;-)Thx-我怀疑我将不得不多走一英里;-)