java调用百度短网址api


  1. 怎样调用百度短网址API?
    1. 生成短网址

    请求:向dwz.cn/create.php发送post请求,发送数据包括url=长网址

    返回:json格式的数据

    1. status!=0 出错,查看err_msg获得错误信息(UTF-8编码)
    2. 成功,返回生成的短网址 tinyurl字段
    1. 自定义短网址

    请求:向dwz.cn/create.php发送post请求,发送数据包括url=长网址&alias=自定义网址

    返回:json格式的数据

    1. Status!=0 出错,查看err_msg获得错误信息(UTF-8编码)
    2. 成功,返回生成的短网址 tinyurl字段
    1. 显示原网址

    请求:向dwz.cn/query.php发送post请求,发送数据包括tinyurl=查询的短地址

    返回:json格式的数据

    1. status!=0 出错,查看err_msg获得错误信息(UTF-8编码)
    2. 成功,返回原网址 longurl字段

    示例程序:

    生成短网址
    <?php
    $ch=curl_init();
    curl_setopt($ch,CURLOPT_URL,"http://dwz.cn/create.php");
    curl_setopt($ch,CURLOPT_POST,true);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $data=array('url'=>'http://www.baidu.com/');
    curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
    $strRes=curl_exec($ch);
    curl_close($ch);
    $arrResponse=json_decode($strRes,true);
    if($arrResponse['status']==0)
    {
    /**错误处理*/
    echo iconv('UTF-8','GBK',$arrResponse['err_msg'])."\n";
    }
    /** tinyurl */
    echo $arrResponse['tinyurl']."\n";
    ?>其他接口使用如上

示例:java调用百度短网址api

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

/**
 * 生成短网址并返回
 * @author: Jerri 
 * @date: 2014年3月22日下午9:58:54
 */
public class GenerateShortUrlUtil {
	public static DefaultHttpClient httpclient;
	static {
		httpclient = new DefaultHttpClient();
		httpclient = (DefaultHttpClient) HttpClientConnectionManager
				.getSSLInstance(httpclient); // 接受任何证书的浏览器客户端
	}
	
	/**
	 * 生成端连接信息
	 * 
	 * @author: Jerri 
	 * @date: 2014年3月22日下午5:31:15
	 */
	public static String  generateShortUrl(String url) {
		try {
			HttpPost httpost = new HttpPost("http://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");
			System.out.println(jsonStr);
			JSONObject object = JSON.parseObject(jsonStr);
			System.out.println(object.getString("tinyurl"));
			return object.getString("tinyurl");
		} catch (Exception e) {
			e.printStackTrace();
			return "Error";
		}
		
	}
	
	/**
	 * 测试生成端连接
	 * @param args
	 * @author: Jerri 
	 * @date: 2014年3月22日下午5:34:05
	 */
	public static void main(String []args){
		generateShortUrl("http://help.baidu.com/index");
	}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值