2010-05-30 92 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