1、功能说明:把需要给用户发的短信:

您周围已有39位同行入驻买卖网, 生存危机一触即发,买卖网流量不容错过,即刻享受流水0抽成!详情查看:http://baidu.com/?ch=mt&mId=jU5LVV 回复TD退订";中的url转换为短网址形式,转换后短信内容为:"您周围已有39位同行入驻买卖网, 生存危机一触即发,买卖网流量不容错过,即刻享受流水0抽成!详情查看:http://dwz.cn/5pHynG 回复TD退订"

2、现实思路:首先将短信内容中的url提取出来,然后调用短网址接口,将该url转换为短网址,最后将转换后的短网址url替换原来短信内容中的url;

3、Java程序如下:(需要导入阿里的json包:fastjson-1.1.28.jar)

通过http post方式实现:

package shortUrl;import java.nio.charset.Charset;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import net.sf.json.JSONObject;import org.apache.http.client.fluent.Content;
import org.apache.http.client.fluent.Form;
import org.apache.http.client.fluent.Request;/*** * 短网址转换类 * */
public class GenerateShortUrl {private static String url =  "http://dwz.cn/create.php";// 短网址转换的post请求体private static String generateShortUrl(String oldUrl) {try {Content resp = Request.Post(url).bodyForm(Form.form().add("url", oldUrl).build(),Charset.forName("UTF-8")).execute().returnContent();String respString = resp.asString();System.out.println(respString); JSONObject jsonObject = JSONObject.fromObject(respString); oldUrl = jsonObject.getString("tinyurl");//JSONObject object = JSON.parseObject(respString);//System.out.println(object);          //oldUrl = object.getString("tinyurl");return oldUrl;} catch (Exception e) {return oldUrl;}}/*** 短网址转换入口函数* */public static void main(String[] args) {String strBody = "您周围已有39位同行入驻买卖网, 生存危机一触即发,买卖网流量不容错过,即刻享受流水0抽成!详情查看:http://baidu.com/?ch=mt&mId=jU5LVV 回复TD退订";Pattern pattern = Pattern.compile("(http://[/\\.\\w\\?=&-]+)");Matcher matcher = pattern.matcher(strBody);String oldUrl = null;while (matcher.find()) {oldUrl = matcher.group();}//要转换的url为空或者长度小于20不进行转换if (null == oldUrl || oldUrl.length() <= 20 ){System.out.println(oldUrl);}System.out.println(oldUrl);String shortUrl = generateShortUrl(oldUrl);System.out.println(shortUrl);String newStrBody = strBody.replaceAll("(?is)(?<!')(http://[/\\.\\w\\?=&-]+)", shortUrl);System.out.println(newStrBody);}
}

输出结果:

http://baidu.com/?ch=mt&mId=jU5LVV

{"tinyurl":"http:\/\/dwz.cn\/5pHynG","status":0,"longurl":"http://baidu.com/?ch=mt&mId=jU5LVV","err_msg":""}

http://dwz.cn/5pHynG

您周围已有39位同行入驻买卖网, 生存危机一触即发,百度流量不容错过,即刻享受流水0抽成!详情查看:http://dwz.cn/5pHynG 回复TD退订

调用百度短网址API接口进行短网址的转换(Java程序的实现)相关推荐

  1. Python调用百度人脸识别API接口检测颜值

    我们今天使用Python发送网络请求到百度人脸识别API接口. 我们需要requests模块,它需要安装,代码是 pip3 install requests 注意:不好意思各位,我的配额没了!如需使用 ...

  2. 调用百度“车牌识别”API接口(go语言实现)

    调用百度的api识别车牌,没有GPU的机器,也没有大量的有标注的车牌数据,所以就只好拿别人现成的车牌识别api接口 具体的识别原理就不说了,只是调别人的接口而已,具体的调用文档百度已经给出: http ...

  3. 调用百度智能云OCR接口识别身份证和户口本

    一.百度智能云获取token类编写 package com.wy.gcserver.ocr.service;import org.slf4j.Logger; import org.slf4j.Logg ...

  4. java获取api接口新浪数据,新浪短网址API接口的获取以及API接口的调用文档分享...

    我们可能会收到类似于这样的短信,发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实现长链接 ...

  5. java 新浪短链接_短网址链接生成器代码示例——新浪短链接api接口php、java、Python调用演示...

    短网址api对接成了大家经常遇到的难题,今天以t.cn短链接api接口为例给出三种语言的调用示例代码: 1.APIKEY获取: 2.调用代码 PHP调用代码 $url = 'http://www.ba ...

  6. 百度短地址 API接口 985.so 是一个免费且好用的短地址

    文档URL http://help.baidu.com/question?prod_en=webmaster&class=%CD%F8%D2%B3%CB%D1%CB%F7%CC%D8%C9%A ...

  7. java 新浪短网址生成器,新浪短链接接口被限制?最新新浪短网址api接口

    背景 新浪短网址api是sina平台官对外公开的短网址生成接口,可以将长链接通过接口生成t.cn样式的短链接,可以说是非常好用的.但近期新浪官方开始对已经公布的接口做出了多重限制,很多之前能用的功能现 ...

  8. php短网址生成接口,url.cn短网址生成api接口(附t.cn短网址api接口)

    简要概述 分享几个最新url.cn短网址api接口&t.cn短网址api接口,都可以正常调用,觉得不错可以收藏一下. 请求地址 1. 腾讯(url.cn)短网址api接口 2. 新浪(t.cn ...

  9. 飞信免费发短信API接口调用方式

    飞信免费发短信API接口调用方式(通过HTTP访问以下网址.支持GET和POST): http://sms.api.bz/fetion.php?username=您的移动飞信登录手机号&pas ...

最新文章

  1. android系统休眠发广播,Android - BroadcastReceiver
  2. Python之路--WEB框架本质
  3. DH1766线性三路可编程直流电源
  4. PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算
  5. linux 信号没有被处理方法,[计算机]Linux 信号signal处理机制.doc
  6. 2018.12.20 Spring环境如何搭建
  7. python-同步(互斥)锁、递归锁、同步条件(event)
  8. python_csv文件使用记录
  9. ERP人力资源管理系统
  10. 干货:react新手入门之react小书
  11. 基于php的村镇干部绩效考核系统
  12. 乔治城大学计算机科学专业,[转载]美国西北大学计算机科学研究生最新专业排名...
  13. 融云--快速集成融云
  14. 3个老鼠确定8个瓶子哪瓶有毒
  15. DRAM BRANK
  16. 【嵌入式07】寄存器映射原理详解,GPIO端口的初始化设置步骤
  17. 中文linux(Ubuntu)下让date命令显示英语日期
  18. CV往哪卷?李飞飞指出三颗「北极星」:具身智能,视觉推理和场景理解
  19. js赋值改变后原来的东西也改变了,影响了好几个其它使用同一个源数据的原因以及解决方法
  20. 打印机控制 佳博 Gprinter GP-9134T

热门文章

  1. 美国L1签证面谈的时候一般VO会问到什么问题?
  2. 吉林大学计算机学院课程学分,吉林大学软件学院学分规定
  3. Fast and Accurate Extrinsic Calibration for Multiple LiDARs and Cameras
  4. 高效学习方法论 学习笔记
  5. 百度万亿流量的转发引擎BFE开源了!
  6. java添加坚挺_Java连载136-两种方式插入数据
  7. Python3——numpy中mean和average的区别
  8. 积跬步至千里:QUIC 协议在蚂蚁集团落地之综述
  9. 【商业分析 01】商业分析网站汇总
  10. 傲慢与偏见之 - 防火墙与竞争力