利用api生成短地址

来源:互联网 发布:美国的军事实力知乎 编辑:程序博客网 时间:2024/05/16 16:19

短网址(Short URL),顾名思义就是在形式上比较短的网址。通常用的是asp或者php转向,在Web 2.0的今天,不得不说,这是一个潮流。目前已经有许多类似服务,借助短网址您可以用简短的网址替代原来冗长的网址,让使用者可以更容易的分享链接。


使用短地址的好处:1、简短2、便于管理  3、用户友好

这里介绍两种api生成短地址,非别是百度短地址API和缩我短地址PAI;分别用两种方法实现,请看代码

package com.vision.edu.common.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.URL;import java.net.URLConnection;import java.util.ArrayList;import java.util.List;import java.util.Map;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;public class GenerateShortUrlUtil {public static DefaultHttpClient httpclient;    static {        httpclient = new DefaultHttpClient();    }    /**     * 生成端连接信息     *      * @author: Zhusw     * @date: 2015年10月19日上午10:01:10     */    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");            String tinyurl = jsonStr.replace("{\"tinyurl\":\"", "");            int index = tinyurl.indexOf("\",\"status");            tinyurl = tinyurl.substring(0,index).replace("\\/", "/");            System.out.println(tinyurl);            return tinyurl;        } catch (Exception e) {            e.printStackTrace();            return "Error";        }    }                /**     * <p>Title: generateShortUrl</p>     * <p>Description: 使用缩我api生成短地址,用的是URL的方式</p>     * @author zqh     * @date 2017年5月5日 下午4:57:37     * @param url 需要生成短地址的链接     * @return     */    public static String shortUrl(String url){    String result="";//访问返回结果    BufferedReader read=null;//读取访问结果         try {     //创建url     URL realurl=new URL("http://suo.im/api.php?url="+url);     //打开连接     URLConnection connection=realurl.openConnection();      // 设置通用的请求属性              connection.setRequestProperty("accept", "*/*");              connection.setRequestProperty("connection", "Keep-Alive");              connection.setRequestProperty("user-agent",                      "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");              //建立连接              connection.connect();           // 获取所有响应头字段              Map<String, List<String>> map = connection.getHeaderFields();              // 遍历所有的响应头字段,获取到cookies等                           // 定义 BufferedReader输入流来读取URL的响应              read = new BufferedReader(new InputStreamReader(                      connection.getInputStream(),"UTF-8"));              String line;//循环读取              while ((line = read.readLine()) != null) {                  result += line;              }              System.out.println(result);    } catch (IOException e) {     e.printStackTrace();    }finally{     if(read!=null){//关闭流      try {       read.close();      } catch (IOException e) {       e.printStackTrace();      }     }    }          return result;   }    /**     * 测试生成端连接     * @param args     * @author: Zhusw     * @date:2015年10月19日上午10:02:23     */    public static void main(String []args){        //generateShortUrl("http://blog.csdn.net/wh_forever/article/details/49247991");    //shortUrl("http://blog.csdn.net/gxyouzhizhe/article/details/72673952");    shortUrl("http://blog.csdn.net/gxyouzhizhe/article/details/72673952");    }}

很多网站提供转换短网址服务,还提供还原短网址、统计服务等。下面列举一些常用的短网址:

百度短网址:dwz.cn;   新浪短网址:www.sina.lt;    网易短地址:www.126.am;    

淘宝短网址:www.taourl.com;    CNZZ微缩网址;www.rdcnzz.com;    Baid短网址:baid.us;  

955短网址:955.cc;   淘宝宝短网址:tao.bb;   Qita短网址:qita.in;  888短网址:888.lu




原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 盗窃罪法院判定农民赔钱没钱怎么办 公安局通知家属取刑拘通知书怎么办 老公诈骗坐牢家人该怎么办 家人被拘留我该怎么办 车牌被偷了一个怎么办 车牌给人家偷了怎么办 收购了偷来的铝怎么办 员工自动离职后档案怎么办 辞职了老板不发工资怎么办 上班老板不发工资怎么办 逮捕后延长羁押期限怎么办手续 员工提出辞职公司不同意怎么办 员工提出辞职后即不来上班怎么办 打架把对方打成轻伤害怎么办 被刑拘了家人该怎么办 看守所在押人员检查出乙肝怎么办 孩子不写作业老师该怎么办 孩子老师向我表白该怎么办 幼儿园老师打孩子家长该怎么办 老师对孩子太苛刻该怎么办 孩子不敢上学怕老师该怎么办 学生上课迟到老师该怎么办 看守所转监狱不收怎么办 己判实刑有病看守所不收怎么办 判决书生效前看守所不收怎么办 法院判实刑看守所不收怎么办 派出所立案后送拘留所了怎么办 打架斗殴被关在看守所了怎么办 在看守所羁押期间患癌症怎么办 无法偿还借款拘留15天后怎么办 离婚起诉被告人被羁押怎么办 事实不清的案件怎么办 交通事故没时间去做笔录怎么办 偷东西被拘留家长该怎么办 在香港被拘留了怎么办 发票认证机卡了怎么办 交罚款的单子丢了怎么办 父亲行政拘留考警察政审不过怎么办 非法经营罪立案后不批刑拘怎么办 12分扣完了怎么办2018 驾驶证c1扣14分怎么办