使用短网址服务--百度的短网址API

本文介绍了一种利用Java中的HttpClient库来实现长网址到短网址转换的方法。通过具体代码示例,展示了如何发送POST请求并将长网址缩短为短网址的过程。
直接贴代码吧,依赖包有apache的httpclient,可以在apache.org下http components下下载(这个包需要apache的commons logging的包才能运行,囧!)
package net.test.aaron;

import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
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;

public class ShortUrlTest {

	/**
	 * @param args
	 * @throws IOException 
	 * @throws ClientProtocolException 
	 */
	public static void main(String[] args) throws ClientProtocolException, IOException {
		List<NameValuePair> formparams = new ArrayList<NameValuePair>();
		formparams.add(new BasicNameValuePair("url", "http://www.udrop.net/s/0/4/4/1S1lCnwx17AP17KPC6-M1S16yA==?m=1367116329454"));
		UrlEncodedFormEntity reqentity = new UrlEncodedFormEntity(formparams, "UTF-8");
		
		HttpPost httppost = new HttpPost("http://dwz.cn/create.php?url=");
		
		HttpClient httpclient = new DefaultHttpClient();
		httppost.setEntity(reqentity);
		HttpResponse response = httpclient.execute(httppost);
		HttpEntity respentity = response.getEntity();
		if (respentity != null) {
		    /*if (len != -1 && len < 2048) {
		        System.out.println(EntityUtils.toString(entity));
		    } else {
		        // Stream content out
		    }*/
			InputStream instream = null;
		    try {
		        // do something useful
			    //instream = entity.getContent();
		        System.out.println(EntityUtils.toString(respentity, "UTF-8"));
			    //long len = entity.getContentLength();
		    } finally {
		        //instream.close();
		    }
		}
	}

}
有个问题,我在测试环境下,host是一个内网IP加上一个端口号,会提示这个URL不安全,返回错误!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值