首页 » SEO优化 » phpreturnself技巧_运用API实现短网址

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

访客 2024-12-09 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个。

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

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

phpreturnself技巧_运用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);?>

以上是文章全部内容

标签:

相关文章

今日头条算法岗三面算法工程师的面试之路

大数据和人工智能技术逐渐成为各行各业的热门话题。今日头条作为中国领先的资讯平台,其算法岗位一直是求职者争相竞逐的焦点。本文将针对今...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法如何打造个化内容推荐

在移动互联网时代,信息爆炸已成为常态。如何在海量信息中找到自己感兴趣的内容,成为了一个亟待解决的问题。今日头条作为一款备受瞩目的新...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法推荐其弊端与反思

算法推荐已经成为各大平台的核心竞争力。今日头条作为国内领先的资讯平台,凭借其强大的算法推荐系统,吸引了大量用户。在享受算法带来的便...

SEO优化 2025-01-31 阅读1 评论0

今日头条算法思维导图信息推荐的奥秘

信息传播速度越来越快,用户对信息的需求也越来越多样化。今日头条作为一款备受关注的新闻资讯平台,其背后的算法推荐机制一直是业界关注的...

SEO优化 2025-01-31 阅读1 评论0