Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.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
Java 什么是正确的URLencoder编码;变成%22?_Java_Urlencode_Apache Httpclient 4.x - Fatal编程技术网

Java 什么是正确的URLencoder编码;变成%22?

Java 什么是正确的URLencoder编码;变成%22?,java,urlencode,apache-httpclient-4.x,Java,Urlencode,Apache Httpclient 4.x,我有以下网址: "jlowder@company.com" 我正在使用以下方法对其进行分析: String URL = "https://api-test.company.com/contacts?" + URLEncoder.encode("q=email=jlowder@company.com", "UTF-8"); 我也尝试过“ISO-8859-1”,但两者都将此作为我的URL返回: 为了从我的服务器接收正确的响应,我需要url为: %22是电子邮件地址周围的“”标记 我如何着手形成

我有以下网址:

"jlowder@company.com"

我正在使用以下方法对其进行分析:

String URL = "https://api-test.company.com/contacts?" + URLEncoder.encode("q=email=jlowder@company.com", "UTF-8");
我也尝试过“ISO-8859-1”,但两者都将此作为我的URL返回:

为了从我的服务器接收正确的响应,我需要url为:

%22是电子邮件地址周围的“”标记


我如何着手形成正确的URL?我所能找到的示例中没有一个能做到这一点。

如果您真的想要这样做,那么您还必须在字符串中加引号:

String URL = "https://api-test.company.com/contacts?q=email=" + URLEncoder.encode("\"jlowder@company.com\"", "UTF-8");
给出:
https://api-test.company.com/contacts?q=email=%22jlowder%40company.com%22


顺便说一句:您想命名该字符串
url
,而不是
url

注意:您没有对整个查询部分进行编码,只有像Udo那样的值。否则,您将使用已编码的保留字符(
q%3Demail
)。