Android HttpURLConnection und URL mit Sonderzeichen

Betrachten Sie das folgende code (zum abrufen der Antwort eine HTTP-Anfrage und gibt es). HINWEIS: Dieser code funktioniert in einer normalen Java-Anwendung. Ich habe nur das problem unten aufgeführt, wenn Sie über die code in eine Android-Anwendung.

public class RetrieveHTMLTest {

public static void main(String [] args) {
    getListing(args[0);
}

public static void getListing(String stringURL) {

    HttpURLConnection conn = null;
    String html = "";
    String line = null;
    BufferedReader reader = null;
    URL url = null;

    try {
        url = new URL(stringURL);

        conn = (HttpURLConnection) url.openConnection();

        conn.setConnectTimeout(6000);
        conn.setReadTimeout(6000);
        conn.setRequestMethod("GET");

        reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
        conn.connect();

        while ((line = reader.readLine()) != null) {
            html = html + line;
        }

        System.out.println(html);

        reader.close();
        conn.disconnect();
    } catch (Exception ex) {
        ex.printStackTrace();
    } finally {

    }
}   
}

Wenn ich liefern die URL:
http://somehost/somepath/

Folgende code funktioniert einwandfrei. Aber, wenn ich die URL an:
http://somehost/somepath [ein Kommentar]/
Der code löst eine timeout-Ausnahme ausgelöst, weil der "[" und "]" Zeichen.

Wenn ich die URL an:
http://somehost/somepath%20%5Ba%20comment%5D/
Funktioniert der code einwandfrei. Wieder, weil die "[" und "]" Zeichen nicht vorhanden.

Meine Frage ist, wie bekomme ich die URL:

http://somehost/somepath [ein Kommentar]/

in das folgende format:

http://somehost/somepath%20%5Ba%20comment%5D/

Auch, sollte ich mich weiterhin mit HttpURLConnection unter Android, da es nicht akzeptieren kann, dass eine URL mit Sonderzeichen? Wenn der standard immer konvertieren die URL, bevor Sie mit HttpURLConnection?

Schreibe einen Kommentar