新浪微博很久之前提供了長鏈接轉(zhuǎn)為短鏈接的API,可以把長鏈接轉(zhuǎn)為t.cn/xxx這種格式的短鏈接。但是在今年9月的時候,新浪由于政策上的調(diào)整,將之前的接口關(guān)閉了
成都創(chuàng)新互聯(lián)是一家以重慶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、品牌設(shè)計、軟件運維、營銷推廣、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為廣告設(shè)計等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。
新浪微博提供了長鏈接轉(zhuǎn)為T.cn短鏈接的API接口,可以把我們之前的長鏈接轉(zhuǎn)為 t.cn/xxx 這種格式的短鏈接。方便我們推廣。現(xiàn)在我就給大家介紹一個最新的申請新浪T.cn短鏈接API接口的辦法!
①、進入 http://www.sinadwz.cn/,選擇右上角菜單 注冊->填寫賬號密碼。
②、點擊立即注冊,注冊成功后,鼠標移動到右上角自己的賬號,點擊個人中心!
③ 、進入到個人中心,我們就可以看到自己的Key了?。ㄕ埍4婧米约旱腒ey)
請保存好系統(tǒng)分配的Key,調(diào)用接口Key時代表應(yīng)用的唯一身份。測試的話直接將 url=后面的鏈接替換成自己需要轉(zhuǎn)換的長鏈接,就可以使用了!
注意事項:
① 調(diào)用api接口時,只需在URL=后面填寫需要壓縮生成的長網(wǎng)址即可。
② 接口支持url參數(shù),當url中出現(xiàn) & 符號時,請用 %26 代替(或者使用url編碼格式),否則參數(shù)可能會丟失。
③ 填寫url時,必須要以http(s)://開頭,否則可能會導(dǎo)致生出的短網(wǎng)址無法訪問原網(wǎng)站。
④ 上文提到的幾個url.cn短網(wǎng)址api接口,經(jīng)測試都是比較穩(wěn)定的,覺得好記得收藏一下,以免丟失。
常見問題:
① 長鏈接轉(zhuǎn)換,為什么結(jié)尾的參數(shù)丟失了?
答:因為url中含有特殊字符,需要使用UTF8編碼格式,將url編碼!
② 接口沒有返回結(jié)果,是什么情況?
答:有些時候接口返回數(shù)據(jù)會有延遲,延時未返回則會提示生成失??;或者是因為原鏈接被封了。
③ 生成的短網(wǎng)址有效期是多久?有沒有訪問次數(shù)限制?
答:生成的url短網(wǎng)址都是永久有效的,而且沒有點擊次數(shù)限制,可以任意使用!
PHP調(diào)用演示:
$url = 'http://www.baidu.com'; $api_url = 'http://www.sinadwz.cn/sina.php?url_long=http://www.baidu.com; $short_url = file_get_contents($api_url); echo $short_url;
JAVA調(diào)用演示:
public static void main(String path[]) throws Exception { URL u = new URL("http://www.sinadwz.cn/sina.php?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調(diào)用演示:
import urllib, urllib2, sys host = 'http://www.sinadwz.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)