URL-кодировщик Blackberry - PullRequest
       5

URL-кодировщик Blackberry

8 голосов
/ 31 июля 2009

Мне нужно закодировать URL с помощью HTTP GET-запроса в Blackberry. Может ли кто-нибудь помочь мне найти, как мне этого добиться.

Ответы [ 4 ]

18 голосов
/ 31 июля 2009

Почему бы вам не использовать RIM URLEncodedPostData ?

private String encodeUrl(String hsURL) {
    URLEncodedPostData urlEncoder = new URLEncodedPostData("UTF-8", false);
    urlEncoder.setData(hsURL);
    hsURL = urlEncoder.toString();
    return hsURL;
}
8 голосов
/ 31 июля 2009

вот, пожалуйста; ^)

public static String URLencode(String s)
{
    if (s!=null) {
        StringBuffer tmp = new StringBuffer();
        int i=0;
        try {
            while (true) {
                int b = (int)s.charAt(i++);
                if ((b>=0x30 && b<=0x39) || (b>=0x41 && b<=0x5A) || (b>=0x61 && b<=0x7A)) {
                    tmp.append((char)b);
                }
                else {
                    tmp.append("%");
                    if (b <= 0xf) tmp.append("0");
                    tmp.append(Integer.toHexString(b));
                }
            }
        }
        catch (Exception e) {}
        return tmp.toString();
    }
    return null;
}
6 голосов
/ 03 декабря 2009

используйте класс, предоставленный w3. Вот ссылка для скачивания ссылка

3 голосов
/ 17 марта 2012

ответ с использованием "URLEncodedPostData" выше неверен. Исправленный образец:

public static String encodeUrl(Hashtable params)
{
    URLEncodedPostData urlEncoder = new URLEncodedPostData("UTF-8", false);
    Enumeration keys = params.keys();
    while (keys.hasMoreElements()) {
        String name = (String) keys.nextElement();
        String value = (String) params.get(name);
        urlEncoder.append(name, value);
    }

    String encoded = urlEncoder.toString();
    return encoded;
}

ура!

...