开发者

Characters problem in Bit.ly

When I try to shorten a link with "#,&" character I get an exception. Is there a way to handle these character properly?

This is a sample code that works:

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

If I add for example '&' or '%25' to the string it will throw a开发者_如何学Gon exception:

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

The getShortUrl function from this Java class.

Thanks


That library (the Java class you link to) doesn't escape the URL... that's pretty awful.

Excerpt:

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

Notice how urlToShorten isn't escaped in any way, shape or form. Prone to injection-style attacks, and just generally doesn't work.

Anyway, you'll need to escape urlToShorten.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜