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

¿Fue útil?

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
scroll top