当我尝试缩短与“#,&”的链接时我得到一个例外。有没有办法正确处理这些角色?
这是一个有效的示例代码:
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 class的getShortUrl
功能。
由于
答案 0 :(得分:0)
该库(您链接到的Java类)不会转义URL ...这非常糟糕。
摘录:
private String getBitlyHttpResponseText(String urlToShorten) throws IOException {
String uri = getBitlyUrl() + urlToShorten + bitlyAuth;
HttpGet httpGet = new HttpGet(uri);
...
请注意urlToShorten
如何不以任何方式,形状或形式进行转义。容易发生注射式攻击,而且通常不起作用。
无论如何,你需要逃离urlToShorten
。