java 短链接跳转,长链接变成短链接

2023-08-27 6134阅读 0评论

java 短链接跳转,长链接变成短链接 第1张

import java.util.LinkedList;

import java.util.List;

import org.apache.http.NameValuePair;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.CloseableHttpResponse;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.impl.client.CloseableHttpClient;

import org.apache.http.impl.client.HttpClients;

import org.apache.http.message.BasicNameValuePair;

import org.apache.http.util.EntityUtils;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONArray;

import com.alibaba.fastjson.JSONObject;

/***

* 短链接转换工具类

*

* @author Administrator

*

*/

public class ShortUrlHelper {

public static CloseableHttpClient httpClient;

static {

httpClient = HttpClients.createDefault();

}

/**

* 将长链接转为短链接(调用的新浪的短网址API)

*

* @param url

* 需要转换的长链接url

* @return 返回转换后的短链接

*/

public static String convertSinaShortUrl(String url) {

try {

// 调用新浪API

HttpPost post = new HttpPost(\”http://api.t.sina.com.cn/short_url/shorten.json\”);

List params = new LinkedList();

// 必要的url长链接参数

params.add(new BasicNameValuePair(\”url_long\”, url));

// 必要的新浪key

params.add(new BasicNameValuePair(\”source\”, \”3271760578\”));

post.setEntity(new UrlEncodedFormEntity(params, \”UTF-8\”));

CloseableHttpResponse response = httpClient.execute(post);

// 得到调用新浪API后成功返回的json字符串

// url_short : 短链接地址 type:类型 url_long:原始长链接地址

String json = EntityUtils.toString(response.getEntity(), \”utf-8\”);

JSONArray jsonArray = JSONArray.parseArray(json);

JSONObject object = (JSONObject) jsonArray.get(0);

return object.getString(\”url_short\”);

} catch (Exception e) {

e.printStackTrace();

return \”\”;

}

}

/**

* 将长链接转为短链接(调用的百度短网址API)

*

* @param url

* 需要转换的长链接url

* @return 返回转换后的短链接

*/

public static String convertBaiDuShortUrl(String url) {

try {

// 调用百度API

HttpPost post = new HttpPost(\”http://www.dwz.cn/create.php\”);

List params = new LinkedList();

// 必要的url长链接参数

params.add(new BasicNameValuePair(\”url\”, url));

post.setEntity(new UrlEncodedFormEntity(params, \”UTF-8\”));

CloseableHttpResponse response = httpClient.execute(post);

// 得到调用百度API后成功返回的json字符串

// tinyurl : 短链接地址 status:0 表示转换成功 非0表示转换失败 longurl:原始长链接地址 err_msg:错误信息

String jsonStr = EntityUtils.toString(response.getEntity(), \”utf-8\”);

JSONObject object = JSON.parseObject(jsonStr);

return object.getString(\”tinyurl\”);

} catch (Exception e) {

e.printStackTrace();

return \”\”;

}

}

/**

* 测试

* @param args

*/

public static void main(String []args){

String tinyurl = convertBaiDuShortUrl(\”http://news.sina.com.cn/gov/xlxw/2018-09-05/doc-ihiixyeu3395739.shtml\”);

System.out.println(tinyurl);

}

}

《java 短链接跳转,长链接变成短链接》来自互联网同行内容,若有侵权,请联系我们删除!


免责声明
1、本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明。
2、本网站转载文章仅为传播更多信息之目的,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所
提供信息的准确性及可靠性,但不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何
损失或损害承担责任。
3、任何透过本网站网页而链接及得到的资讯、产品及服务,本网站概不负责,亦不负任何法律责任。
4、本网站所刊发、转载的文章,其版权均归原作者所有,如其他媒体、网站或个人从本网下载使用,请在
转载有关文章时务必尊重该文章的著作权,保留本网注明的“稿件来源”,并白负版权等法律责任。

手机扫描二维码访问

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,6134人围观)

还没有评论,来说两句吧...

目录[+]