1、功能說明:把需要給用戶發(fā)的短信:
您周圍已有39位同行入駐買賣網(wǎng), 生存危機一觸即發(fā),買賣網(wǎng)流量不容錯過,即刻享受流水0抽成!詳情查看:http://baidu.com/?ch=mt&mId=jU5LVV 回復(fù)TD退訂";中的url轉(zhuǎn)換為短網(wǎng)址形式,轉(zhuǎn)換后短信內(nèi)容為:"您周圍已有39位同行入駐買賣網(wǎng), 生存危機一觸即發(fā),買賣網(wǎng)流量不容錯過,即刻享受流水0抽成!詳情查看:http://dwz.cn/5pHynG 回復(fù)TD退訂"
2、現(xiàn)實思路:首先將短信內(nèi)容中的url提取出來,然后調(diào)用短網(wǎng)址接口,將該url轉(zhuǎn)換為短網(wǎng)址,最后將轉(zhuǎn)換后的短網(wǎng)址url替換原來短信內(nèi)容中的url;
3、java程序如下:(需要導(dǎo)入阿里的json包:fastjson-1.1.28.jar)
通過http post方式實現(xiàn):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;/** * * 短網(wǎng)址轉(zhuǎn)換類 * */public class GenerateShortUrl { PRivate static String url = "http://dwz.cn/create.php"; // 短網(wǎng)址轉(zhuǎn)換的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; } } /** * 短網(wǎng)址轉(zhuǎn)換入口函數(shù) * */ public static void main(String[] args) { String strBody = "您周圍已有39位同行入駐買賣網(wǎng), 生存危機一觸即發(fā),買賣網(wǎng)流量不容錯過,即刻享受流水0抽成!詳情查看:http://baidu.com/?ch=mt&mId=jU5LVV 回復(fù)TD退訂"; Pattern pattern = Pattern.compile("(http://[///.//w//?=&-]+)"); Matcher matcher = pattern.matcher(strBody); String oldUrl = null; while (matcher.find()) { oldUrl = matcher.group(); } //要轉(zhuǎn)換的url為空或者長度小于20不進行轉(zhuǎn)換 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); }}輸出結(jié)果: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位同行入駐買賣網(wǎng), 生存危機一觸即發(fā),百度流量不容錯過,即刻享受流水0抽成!詳情查看:http://dwz.cn/5pHynG 回復(fù)TD退訂
新聞熱點
疑難解答
圖片精選