Bit.ly中的字符问题

时间:2010-03-30 05:34:24

标签: android api bit.ly

当我尝试缩短与“#,&”的链接时我得到一个例外。有没有办法正确处理这些角色?

这是一个有效的示例代码:

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

如果我添加例如'&'或者'%25'到字符串会引发异常:

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

来自this Java classgetShortUrl功能。

由于

1 个答案:

答案 0 :(得分:0)

该库(您链接到的Java类)不会转义URL ...这非常糟糕。

摘录:

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

请注意urlToShorten如何不以任何方式,形状或形式进行转义。容易发生注射式攻击,而且通常不起作用。

无论如何,你需要逃离urlToShorten