随着移动技术的发展,手机短信接手网址的时候,短网址成为流行,字数少,省流量。
以下是我采用java调用新浪的短网址服务器实现的短网址转换。
短网址转换服务是直接采用新浪的: http://open.weibo.com/wiki/2/short_url/shorten
代码实现如下:
//需要转换的原始
String website = "www.hao123.com";
try {
if (StringUtils.isNotBlank(website)) {
if(website.indexOf("http://")==-1){
website = "http://"+website;
}
Map<String, String> param = new HashMap<String, String>();
param.put("source", "3297620043");
param.put("url_long", website);
String postUrl = "http://api.weibo.com/2/short_url/shorten.json";
HttpClient client = new HttpClient();
client.getParams().setParameter("http.protocol.content-charset", "UTF-8");
client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
client.getHttpConnectionManager().getParams().setSoTimeout(5000);
PostMethod method = new PostMethod(postUrl);
if(!param.isEmpty()){
Set<String> set = param.keySet();
Iterator<String> it = set.iterator();
while(it.hasNext()){
String key = it.next();
method.setParameter(key, param.get(key));
}
}
client.executeMethod(method);
String response = method.getResponseBodyAsString();
JSONObject result = new JSONObject(response);
if (result != null) {
JSONArray jarry = (JSONArray) result.get("urls");
if(jarry !=null && !jarry.isNull(0)){
JSONObject json = (JSONObject) jarry.get(0);
String tinyurl = json.get("url_short").toString();
System.out.println(tinyurl);
}
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
}
运行就直接可以得到www.hao123.com的短网址(http://t.cn/hizks)