2010-05-30 69 views
0

我正在使用Java。我在我自己的机器上使用Java调用GET url。这是带参数的url字符串。生成GET 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(); 

我如何编码海峡到GET参数。例如。

str -> test query 

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

回答

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

注意URLEncoder的替代空间与+,不%20。这里有一个detailed discussion的差异。

+0

在查询字符串接受的练习中没有使用'+',即使不是严格正确的,它在任何情况下都适用。 – mdma 2010-05-30 11:51:46

1

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

1

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

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

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

URLEncoder.encode