Android / Java: URL-адрес строки не работает в HttpGet (URL) - PullRequest
1 голос
/ 17 сентября 2011

Я строю строку со значением, полученным из другого действия:

Bundle b = getIntent().getExtras();

value = b.getString("bundledata");

url = "http://dl.dropbox.com/u/xxx/apptextfiles/";
url += value;
url += ".txt";

Итак, строка выглядит как http://dl.dropbox.com/u/xxx/apptextfiles/LFC2.txt

Позже я пытаюсь прочитать текстовый файл с запросом HttpGet = новый HttpGet (url) - и приложение вылетает. Странно то, что если я напишу url = "http://dl.dropbox.com/u/xxx/apptextfiles/LFC2.txt", он будет работать нормально, но не тогда, когда я создам его, как описано выше. На самом деле, если я беру значение url из eclipse и помещаю его в браузер, оно меняется на http://dl.dropbox.com/u/xxx/apptextfiles/%EF%BB%BFLFC2.txt - почему ?? Это выглядит как странная проблема с кодировкой? Строковое значение, которое я получаю из другого действия, также берется из онлайн-текстового файла. У любого есть подсказка, как решить эту проблему?

1 Ответ

0 голосов
/ 18 сентября 2011

Взгляните на http://www.w3schools.com/tags/ref_urlencode.asp

Похоже, что поле value, которое есть в вашей строке URL, содержит специальные символы - ï , » and ¿

Это причина того, что ваш URL закодирован, как вы указали. Используйте hexeditor или что-то еще, чтобы ваш текстовый файл не содержал специальных символов.

...