Caracteres problema en Bit.ly
Pregunta
Cuando intento para acortar un enlace con "#, y el" carácter consigo una excepción. ¿Hay una manera de manejar estos caracteres correctamente?
Este es un ejemplo de código que funciona:
String shortUrl = bitly.getShortUrl("http://z"); //Works
Si añado por ejemplo 'y' o '% 25' de la cadena que va a lanzar una excepción:
String shortUrl = bitly.getShortUrl("http://z%26"); // Exception
String shortUrl = bitly.getShortUrl("http://z&"); // Exception
La función de getShortUrl
este java clase .
Gracias
Solución
Esa biblioteca (la clase Java se vincula a) no se escapa de la URL ... que es bastante horrible.
Extracto:
private String getBitlyHttpResponseText(String urlToShorten) throws IOException {
String uri = getBitlyUrl() + urlToShorten + bitlyAuth;
HttpGet httpGet = new HttpGet(uri);
...
Observe cómo urlToShorten
no se escapó de alguna manera, forma o forma. Propenso a los ataques de tipo de inyección, y en general no funciona.
En cualquier caso, tendrá que escapar urlToShorten
.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow