生成GET URL的问题

时间:2010-05-30 10:16:40

标签: java url

我正在研究Java。我使用Java在自己的机器上调用GET URL。这是带参数的url字符串。

listen.executeUrl("http://localhost/post_message.php?query_string="+str); 

我将str作为用户输入。

 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 System.out.print("Enter query: ");
 str = br.readLine();

如何将str编码为GET参数。例如。

str -> test query

url -> http://localhost/post_message.php?query_string=test%20query

3 个答案:

答案 0 :(得分:1)

使用encode()类的java.net.URLEncoder方法。

答案 1 :(得分:1)

您需要对查询字符串进行编码,例如

str = URLEncoder.encode(str, "UTF-8");

您将第二个参数设置为您的服务器配置的编码。

请参阅URLEncoder.encode

答案 2 :(得分:1)

String query = URLEncoder.encode(str, "UTF-8").replaceAll("\\+", "%20");

请注意,URLEncoder用+替换空格,而不是%20。这是差异的detailed discussion