2010-03-30 3 views
0

Lorsque j'essaie de raccourcir un lien avec le caractère "#, &", je reçois une exception. Y at-il un moyen de gérer ces caractères correctement?Problème de caractères dans Bit.ly

C'est un exemple de code qui fonctionne:

String shortUrl = bitly.getShortUrl("http://z"); //Works 

Si j'ajoute par exemple '&' ou '% 25' à la chaîne, il lancera une exception:

String shortUrl = bitly.getShortUrl("http://z%26"); // Exception 
String shortUrl = bitly.getShortUrl("http://z&"); // Exception 

Le getShortUrl fonctionne à partir de this Java class.

Merci

Répondre

0

Cette bibliothèque (la classe Java vous un lien vers) n'échappe pas l'URL ... c'est assez horrible.

Extrait:

private String getBitlyHttpResponseText(String urlToShorten) throws IOException { 
    String uri = getBitlyUrl() + urlToShorten + bitlyAuth; 
    HttpGet httpGet = new HttpGet(uri); 
    ... 

Remarquez comment urlToShorten est pas échappé de quelque manière que ce soit sous forme. Sujet aux attaques de type injection, et ne fonctionne généralement pas. De toute façon, vous devrez vous échapper urlToShorten.

Questions connexes