首页 » Web前端 » 短网址apiphp技巧_运用API实现短网址

短网址apiphp技巧_运用API实现短网址

访客 2024-11-19 0

扫一扫用手机浏览

文章目录 [+]

新浪供应了长链接转为短链接的API,可以把长链接转为 t.cn/xxx 这种格式的短链接。

API有两种格式:

http://api.t.sina.com.cn/short_url/shorten.json (返回结果是JSON格式)http://api.t.sina.com.cn/short_url/shorten.xml (返回结果是XML格式) 要求参数:

source 申请运用时分配的AppKey,调用接口时期表运用的唯一身份。
url_long 须要转换的长链接,须要URLencoded,最多不超过20个。

短网址apiphp技巧_运用API实现短网址

多个url参数须要利用如下办法要求:url_long=aaa&url_long=bbb

短网址apiphp技巧_运用API实现短网址
(图片来自网络侵删)
创建source方法

1.进入http://open.weibo.com/ ,选择菜单 微连接->网站接入。
2.点击立即接入,创建新运用,填写运用名称,点击创建。
3.创建成功后,AppKey便是source参数的值,可以用于要求创建短链接。

这里是测试代码

<?php$api = 'http://api.t.sina.com.cn/short_url/shorten.json'; // json// $api = 'http://api.t.sina.com.cn/short_url/shorten.xml'; // xml$source = '您申请的AppKey';$url_long = 'https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323801';$request_url = sprintf($api.'?source=%s&url_long=%s', $source, $url_long);$data = file_get_contents($request_url);echo $data;?>返回JSON格式

[ { \"大众url_short\"大众: \"大众http://t.cn/Rki0twp\"大众, \公众url_long\"大众: \"大众http://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323801\"大众, \公众type\"大众: 0 }]返回XML格式

<?xml version=\"大众1.0\公众 encoding=\"大众UTF-8\公众?><urls><url><url_short> http://t.cn/Rki0twp</url_short><url_long>https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323801</url_long><type>0</type></url></urls>

天生的短链接为 http://t.cn/Rki0twp ,访问会跳转到 https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323801

完全的类如下:

/ 天生新浪的短链接或还原新浪短链接 /class ShortUrl{ //新浪APPKEY const APPKEY='xxxxxxxx'; //你申请的appkey //CURL private static function CURLQueryString($url){ //设置附加HTTP头 $addHead=array(\公众Content-type: application/json\"大众); //初始化curl $curl_obj=curl_init(); //设置网址 curl_setopt($curl_obj,CURLOPT_URL,$url); //附加Head内容 curl_setopt($curl_obj,CURLOPT_HTTPHEADER,$addHead); //是否输出返转头信息 curl_setopt($curl_obj,CURLOPT_HEADER,0); //将curl_exec的结果返回 curl_setopt($curl_obj,CURLOPT_RETURNTRANSFER,1); //设置超时时间 curl_setopt($curl_obj,CURLOPT_TIMEOUT,8); //实行 $result=curl_exec($curl_obj); //关闭curl回话 curl_close($curl_obj); return $result; } //处理返回结果 private static function doWithResult($result,$field){ $result=json_decode($result,true); return isset($result[0][$field])?$result[0][$field]:''; } //获取短链接 public static function getShort($url){ $url='http://api.t.sina.com.cn/short_url/shorten.json?source='.self::APPKEY.'&url_long='.$url; $result=self::CURLQueryString($url); return self::doWithResult($result,'url_short'); } //获取长链接 public static function getLong($url){ $url='http://api.t.sina.com.cn/short_url/expand.json?source='.self::APPKEY.'&url_short='.$url; $result=self::CURLQueryString($url); return self::doWithResult($result,'url_long'); }}你也可以用以下完全的方法

<?php/ 调用新浪接口将长链接转为短链接 @param string $source 申请运用的AppKey @param array|string $url_long 长链接,支持多个转换(须要先实行urlencode) @return array / function getSinaShortUrl($source, $url_long){ // 参数检讨 if(empty($source) || !$url_long){return false; }// 参数处理,字符串转为数组 if(!is_array($url_long)){$url_long = array($url_long); }// 拼接url_long参数要求格式 $url_param = array_map(function($value){ return '&url_long='.urlencode($value); }, $url_long); $url_param = implode('', $url_param); // 新浪天生短链接接口 $api = 'http://api.t.sina.com.cn/short_url/shorten.json';// 要求url $request_url = sprintf($api.'?source=%s%s', $source, $url_param);$result = array();// 实行要求 $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $request_url); $data = curl_exec($ch);if($error=curl_errno($ch)){return false; } curl_close($ch);$result = json_decode($data, true);return $result; }//您申请的AppKey$source = 'xxxxxxxssssss';// 单个链接转换$url_long = 'https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323801';$data = getSinaShortUrl($source, $url_long);print_r($data);// 多个链接转换$url_longs = array('https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323801','https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323802','https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323803','https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323804','https://detail.tmall.com/item.htm?spm=a21wu.241046-us.9629632455.7.193eb6cbbC9gFg&id=585958323805',);$data_arr = getSinaShortUrl($source, $url_longs);print_r($data_arr);?>

以上是文章全部内容

标签:

相关文章

QQ伪装黑客代码大全技术与风险警示

网络安全问题日益凸显。QQ作为一种流行的社交工具,成为了黑客攻击的主要目标之一。本文将针对QQ伪装黑客代码大全进行深入剖析,揭示其...

Web前端 2025-03-02 阅读1 评论0