java调用百度API生成短链接(一)

短链接,顾名思义,用一个短的链接代替长而繁琐的真实链接

import net.sf.json.JSONObject;
import org.apache.http.impl.client.DefaultHttpClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.*;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.StringHttpMessageConverter;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.web.client.RestTemplate;

import java.nio.charset.Charset;
import java.util.*;

/**
 * 生成短网址并返回
 * @author: lyh
 * @date: 2015年10月27日下午23:58:54
 */
public class DLJTest {
    private Logger logger = LoggerFactory.getLogger(this.getClass());
    public static DefaultHttpClient httpclient;
    static {
        try {
            httpclient = new DefaultHttpClient();
//            httpclient = ((DefaultHttpClient) HttpClientConnectionManager)
//                .getSSLInstance(httpclient); // 接受任何证书的浏览器客户端
        } catch (Exception ex) {

        }
    }

    /**
     * 生成端连接信息
     *
     * @author: lyh
     * @date: 2015年10月27日下午23:58:54
     */
    public static String  generateShortUrl(String url) {
        try {
            RestTemplate template = new RestTemplate();
            LinkedMultiValueMap parts = new LinkedMultiValueMap<>();
            parts.add("url", url);
            String result = template.postForObject("http://dwz.cn/create.php", parts, String.class);
            JSONObject jsonObject = JSONObject.fromObject(result);
            if (jsonObject.getInt("status") == 0 && jsonObject.containsKey("tinyurl")) {
                System.out.println(jsonObject.getString("tinyurl"));
            }
            return jsonObject.getString("tinyurl");
        } catch (Exception e) {
            e.printStackTrace();
            return "Error";
        }

    }
    
    /**
     * 测试生成端连接
     * @param args
     * @author: lyh
     * @date: 2015年10月27日下午23:58:54
     */
    public static void main(String []args){
        generateShortUrl("http://write.blog.csdn.net/postlist");
    }
}





你可能感兴趣的:(java相关知识)