Проблема генерации GET URL - PullRequest
0 голосов
/ 30 мая 2010

Я работаю на Java. Я вызываю ссылку GET на моем компьютере с использованием Java. Вот строка 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 ]

1 голос
/ 30 мая 2010

Вам нужно будет закодировать строку запроса, например,

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

Второй аргумент задается для кодировки, для которой настроен ваш сервер.

См. URLEncoder.encode

1 голос
/ 30 мая 2010
String query = URLEncoder.encode(str, "UTF-8").replaceAll("\\+", "%20");

Обратите внимание, что URLEncoder заменяет пробелы на +, а не %20. Вот подробное обсуждение различий.

1 голос
/ 30 мая 2010

Используйте метод encode() класса java.net.URLEncoder.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...