Skip to content

Commit d852f0c

Browse files
committed
对请求内容进行URL Decoder处理
1 parent 5cd72b7 commit d852f0c

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

src/cn/aofeng/demo/httpclient/SimpleHttpServer.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.io.OutputStream;
99
import java.net.InetSocketAddress;
1010
import java.net.URI;
11+
import java.net.URLDecoder;
1112
import java.util.List;
1213
import java.util.Map.Entry;
1314
import java.util.Set;
@@ -29,6 +30,8 @@ public class SimpleHttpServer {
2930

3031
private static Logger _logger = Logger.getLogger(SimpleHttpServer.class);
3132

33+
private static String _charset = "utf-8";
34+
3235
static class MyHandler implements HttpHandler {
3336

3437
@Override
@@ -49,13 +52,16 @@ public void handle(HttpExchange httpEx) throws IOException {
4952
_logger.info(header.getKey()+":"+header.getValue());
5053
}
5154

55+
// 获取请求内容
5256
InputStream ins = httpEx.getRequestBody();
53-
String content = IOUtils.toString(ins, "utf-8");
57+
String content = URLDecoder.decode(
58+
IOUtils.toString(ins, _charset), _charset);
5459
_logger.info("请求内容:"+content);
5560
IOUtils.closeQuietly(ins);
5661

57-
String rc = "Hello, 汉字";
58-
byte[] temp = rc.getBytes("utf-8");
62+
// 返回响应
63+
String rc = "冒号后面是收到的请求,原样返回:"+content;
64+
byte[] temp = rc.getBytes(_charset);
5965
httpEx.sendResponseHeaders(200, temp.length);
6066
OutputStream outs = httpEx.getResponseBody();
6167
outs.write(temp);

0 commit comments

Comments
 (0)