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");
	}
}


好的,你可以使用百度网址API来生成链接。以下是Java代码示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class BaiduShortUrl { public static void main(String[] args) { String longUrl = "http://www.baidu.com"; // 待转换的长链接 String apiKey = "你的API Key"; // 填写你在百度网址申请的API Key String url = "http://dwz.cn/create.php"; String param = "url=" + URLEncoder.encode(longUrl, "UTF-8") + "&apikey=" + apiKey; String result = sendGet(url, param); System.out.println(result); } private static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); connection.setRequestMethod("GET"); connection.connect(); in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常:" + e); e.printStackTrace(); } finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } } ``` 在上面的代码中,你需要替换 `longUrl` 和 `apiKey` 的值。`longUrl` 是你要转换成链接的长链接,`apiKey` 是你在百度网址申请的API Key。运行代码后,你将会得到一个 JSON 格式的响应,其中包含了生成的链接。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值