问题描述
||
我已经使用Internet中的示例之一实现了简单的com.sun.net.httpserver.HttpServer应用程序。
服务器按预期获得请求,但以下情况除外:
如果url包含tspecials:\“或\'<\'\” / \“请求根本不会到达服务器。
使用简单的java.net.ServerSocket都可以很好地工作,并在所有tspesials都编码的地方收到请求,这对我来说很棒,但是我更喜欢使用HttpServer。
例如请求:http://127.0.0.1/MyApp/Test?var=值 xml>
适用于ServerSocket,不适用于HttpServer。
任何帮助将不胜感激。
解决方法
您需要使用%表示法在客户端对网址进行编码:
http://127.0.0.1/MyApp/Test?var=%3Cxml+id%3D%271%27%3Evalue%3C%2Fxml%3E
在服务器端,如果查询包含&字符以及带有URLDecoder.decode的décode参数值,则应使用URI.getRawQuery()。