dwz.cnインタフェースjavaクライアント実装

2328 ワード

プロジェクトでは短いURLが必要で、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";
		}
	}
}