咱們可能會收到相似於這樣的短信,發現其中的連接並非常規的網址連接,而是個短小精悍的短連接,產品中常常須要這樣的需求,若是在給用戶下發的短信中是一個很長的鏈接,用戶體驗確定不好,所以咱們須要實現長連接轉換成短連接。可是前段時間新浪前段時間關閉了生成的入口!致使不少小夥伴沒法使用了php
今天我就給打分享一個利用php調用新浪短連接/騰訊短連接API接口的方法。分享給你們供你們參考使用。api
測試接口地址測試
新浪短網址接口地址: 編碼
http://www.qqdwz.cn/tcn/api?url_long=http://www.baidu.comurl
騰訊短網址接口地址: spa
http://www.qqdwz.cn/urlcn/api?url_long=http://www.baidu.comcode
說明:將上面短網址api接口的標紅部分的連接替換成須要縮短的長鏈接便可!blog
正式版地址請前往;接口
http://www.qqdwz.cn 自助申請utf-8
**
**
PHP調用演示:
$url = 'http://www.baidu.com'; $api\_url = 'http://www.qqdwz.cn/tcn/api?url\_long=http://www.baidu.com; $short\_url = file\_get\_contents($api\_url); echo $short\_url;
JAVA調用演示:
public static void main(String path\[\]) throws Exception { URL u = new URL("http://www.qqdwz.cn/tcn/api?url\_long=http://www.baidu.com"); InputStream in = u.openStream(); ByteArrayOutputStream out = new ByteArrayOutputStream(); try { byte buf\[\] = new byte\[1024\]; int read = 0; while ((read = in .read(buf)) > 0) { out.write(buf, 0, read); } } finally { if ( in != null) { in .close(); } } byte b\[\] = out.toByteArray(); System.out.println(new String(b, "utf-8")); }
Python調用演示:
import urllib, urllib2, sys host = 'http://www.qqdwz.cn ' path = 'sina.php?url\_long=' method = 'GET' querys = 'url=http%3A%2F%2Fwww.baidu.com' bodys = {} url = host + path + '?' + querys request = urllib2.Request(url) response = urllib2.urlopen(request) content = response.read() if (content): print(content)
一、使用api接口時,只需將 URL=後的連接替換成本身這邊須要縮短的長連接便可。
二、接口支持參數傳遞,當連接中出現 & 符號時,請用 %26 代替(或者使用url編碼),不然攜帶的參數會丟失。
三、填寫連接時,必須使用http(s)://協議,不然API接口將會沒法生成短連接!