项目中需要用到短网址,使用了dwz.cn
java客户端工具类实现如下:
需要的jar包,Maven配置
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.3.6</version>
</dependency>
源码
package com.kuanrf.common.util;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.config.CookieSpecs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
/**
* 短链接生成
*
* @author lujun.chen
* @version [版本号, 2015年10月10日]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class GenerateShortUrlUtil {
public static CloseableHttpClient httpclient;
static {
RequestConfig config = RequestConfig.custom()
.setCookieSpec(CookieSpecs.IGNORE_COOKIES).build();
httpclient = HttpClients.custom().setDefaultRequestConfig(config)
.build();
}
/**
* 生成端连接信息
*
* @author: Jerri
* @date: 2014年3月22日下午5:31:15
*/
public static String generateShortUrl(String url) {
try {
HttpPost httpost = new HttpPost("http://www.dwz.cn/create.php");
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("url", url));
httpost.setEntity(new UrlEncodedFormEntity(params, "utf-8"));
HttpResponse response = httpclient.execute(httpost);
String jsonStr = EntityUtils
.toString(response.getEntity(), "utf-8");
JSONObject object = JSON.parseObject(jsonStr);
return object.getString("tinyurl");
} catch (Exception e) {
e.printStackTrace();
return "Error";
}
}
}