Java 什么是正确的URLencoder编码;变成%22?
我有以下网址: "jlowder@company.com" 我正在使用以下方法对其进行分析: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是电子邮件地址周围的“”标记 我如何着手形成
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
)。