目前来说,短网址是一个非常流行的趋势,对于内链和跳转来说。

比如新浪微博的t.cn

腾讯的url.cn

以及百度的dwz.cn,这些断链平台都提供了自己的接口以供开发者进行短链和长链的转换。

这其中最简单的莫过于百度的短网址服务,dwz.cn。

下面提供PHP版的加密和解密接口如下:

  1: php
  2: 
  3: $ch=curl_init();
  4: 
  5: curl_setopt($ch,CURLOPT_URL,"http://dwz.cn/create.php");
  6: 
  7: curl_setopt($ch,CURLOPT_POST,true);
  8: 
  9: curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
 10: 
 11: $data=array('url'=>'http://www.baidu.com/');
 12: 
 13: curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
 14: 
 15: $strRes=curl_exec($ch);
 16: 
 17: curl_close($ch);
 18: 
 19: $arrResponse=json_decode($strRes,true);
 20: 
 21: if($arrResponse['status']!=0)
 22: {
 23: /**错误处理*/
 24: echo iconv('UTF-8','GBK',$arrResponse['err_msg'])."\n";
 25: }
 26: 
 27: //返回短网址
 28: echo$arrResponse['tinyurl']."\n";
 29: 
 30: ?>
 31: 

下面是解密的

 

  1: php
  2: 
  3: $ch=curl_init();
  4: 
  5: curl_setopt($ch,CURLOPT_URL,"http://dwz.cn/query.php");
  6: 
  7: curl_setopt($ch,CURLOPT_POST,true);
  8: 
  9: curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
 10: 
 11: $data=array('tinyurl'=>'http://dwz.cn/1E');
 12: 
 13: curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
 14: 
 15: $strRes=curl_exec($ch);
 16: 
 17: curl_close($ch);
 18: 
 19: $arrResponse=json_decode($strRes,true);
 20: 
 21: if($arrResponse['status']==0)
 22: 
 23: {
 24: 
 25: /**错误处理*/
 26: 
 27: echo iconv('UTF-8','GBK',$arrResponse['err_msg'])."\n";
 28: 
 29: }
 30: 
 31: /**返回长网址*/
 32: 
 33: echo$arrResponse['longurl']."\n";
 34: 
 35: ?>

很方便。。

但是也有烦人的是,对于一些收录比较少的网站来说,会无法加密,返回“网址可能存在风险”的错误。

很坑爹。

建议试好再用。。

如果实在不行的话,可以选择使用其他接口。敬请关注本博下篇博文讲述的新浪短链接口。