diff --git a/pom.xml b/pom.xml
index 46b77f9..1463f90 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,7 @@
net.dongliu
commons
- 7.4.0
+ 7.6.1
diff --git a/src/main/java/net/dongliu/proxy/netty/handler/HttpProxyHandler.java b/src/main/java/net/dongliu/proxy/netty/handler/HttpProxyHandler.java
index f6e77c5..da1affb 100644
--- a/src/main/java/net/dongliu/proxy/netty/handler/HttpProxyHandler.java
+++ b/src/main/java/net/dongliu/proxy/netty/handler/HttpProxyHandler.java
@@ -62,7 +62,7 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception
int port = url.getPort();
String authority = url.getAuthority();
request.setUri(url.getFile());
- request.headers().add("Host", host);
+ request.headers().set("Host", host);
stripRequest(request);
if (port == -1) {
diff --git a/src/main/java/net/dongliu/proxy/utils/NameValues.java b/src/main/java/net/dongliu/proxy/utils/NameValues.java
index 4464ee9..eab79a4 100644
--- a/src/main/java/net/dongliu/proxy/utils/NameValues.java
+++ b/src/main/java/net/dongliu/proxy/utils/NameValues.java
@@ -44,6 +44,7 @@ public static List extends NameValue> parseUrlEncodedParams(String text, Chars
String name = segment.substring(0, idx).trim();
String value = segment.substring(idx + 1).trim();
value = URLDecoder.decode(value, charset);
+ name = URLDecoder.decode(name, charset);
params.add(new Parameter(name, value));
} else {
String value = URLDecoder.decode(segment, charset);