我正在尝试使用非法字符构造java.net.URI,因为服务器是一块旧硬件,无法解码RFC-2396 complients URI。这个服务器需要一个带有这样的
的http的http-gethttp://192.168.5.10/cgi-bin/Read.exe?+0+ABC/info.xml+<g>Template</g>
?+0+ABC/info.xml+<g>Template</g>
是URI的非法部分,我将获得java.net.MalformedURLException异常。
将URI的这部分解码为%2B0%2BABC%2Finfo.xml%2B%3Cg%3ETemplate%3C%2Fg%3E
让我觉得服务器异常。
我想知道是否有办法在线上获得非RFC-2396 complient java.net.URIs?
答案 0 :(得分:1)
执行此操作的唯一方法是根本不使用URLConnection,只需手动编写HTTP请求。
如果您确定要连接的硬件,那么您非常确定要预期的标头,这应该不会那么困难; HTTP是一种相对简单的协议。
我曾经这样做过一次:)