Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查询字符串值的http编码_Http_Encoding - Fatal编程技术网

查询字符串值的http编码

查询字符串值的http编码,http,encoding,Http,Encoding,我必须在Java中对http请求中的querystring值进行编码。例如: 史密斯&地址=我的街道 必须成为: 我必须在一个输入中有querystring值的方法中这样做,所以我必须只对值进行编码(James Smith,my street,ecc.)。我正在考虑使用这个方法org.apache.commons.httpclient.util.URIUtil.encodeWithinQuery:是这样吗?我看到了许多关于编码http请求的令人困惑的讨论。您可以使用URL编码URL yourN

我必须在Java中对http请求中的querystring值进行编码。例如:

史密斯&地址=我的街道

必须成为:


我必须在一个输入中有querystring值的方法中这样做,所以我必须只对值进行编码(James Smith,my street,ecc.)。我正在考虑使用这个方法org.apache.commons.httpclient.util.URIUtil.encodeWithinQuery:是这样吗?我看到了许多关于编码http请求的令人困惑的讨论。

您可以使用URL编码URL

yourNewURL = java.net.URLEncoder.encode(oldurl.toString(), "ISO-8859-1").replace("+", "%20"));
查看此讨论以了解更多解释:


此方法将空格替换为“+”,而不是“%20”。但是,我不确定是否必须使用application/x-www-form-urlencoded或RFC-3986进行编码。如果我查看并尝试“自己尝试”部分,空格将替换为“+”。