/**

* URL地址长短切换,由sina新浪短链接API生成

* User: chenqt

* Date: 2016/8/23

* Time: 18:45

*/

class UrlSwitch

{

public function __construct()

{

//访问sina的key

$this->sina_appkey = '31641035';

}

private function curlQuery($url)

{

//设置附加HTTP头

$addHead = array(

"Content-type: application/json"

);

//初始化curl,当然,你也可以用fsockopen代替

$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, 15);

//执行

$result = curl_exec($curl_obj);

//关闭curl回话

curl_close($curl_obj);

return $result;

}

//简单处理下url,sina对于没有协议(http://)开头的和不规范的地址会返回错误

public function filterUrl($url = '')

{

$url = trim(strtolower($url));

$url = trim(preg_replace('/^http:\/\//', '', $url));

if ($url == '')

return false;

else

return urlencode('http://' . $url);

}

//根据长网址获取短网址

public function sinaShortenUrl($long_url)

{

//拼接请求地址,此地址你可以在官方的文档中查看到

$url = 'http://api.t.sina.com.cn/short_url/shorten.json?source=' . $this->sina_appkey . '&url_long=' . $long_url;

//获取请求结果

$result = $this->curlQuery($url);

//解析json

$json = json_decode($result);

//异常情况返回false

if (isset($json->error) || !isset($json[0]->url_short) || $json[0]->url_short == '') {

return false;

} else {

return $json[0]->url_short;

}

}

//根据短网址获取长网址,此函数重用了不少sinaShortenUrl中的代码,以方便你阅读对比,你可以自行合并两个函数

function sinaExpandUrl($short_url) {

//拼接请求地址,此地址你可以在官方的文档中查看到

$url = 'http://api.t.sina.com.cn/short_url/expand.json?source=' . $this->sina_appkey . '&url_short=' . $short_url;

//获取请求结果

$result = $this->curlQuery($url);

//解析json

$json = json_decode($result);

//异常情况返回false

if (isset($json->error) || !isset($json[0]->url_long) || $json[0]->url_long == '') {

return false;

} else {

return $json[0]->url_long;

}

}

}

$urlObj = new UrlSwitch();

$url = $urlObj->filterUrl('http://www.test.com/url.php?type=url&openid=2323kfjdskljfldsajfdsa');

echo $urlObj->sinaShortenUrl($url);

长链接转为短链接,不影响链接所带参数

新浪短连接API免登陆免认证实例

string source = "source=2849184197"; // APP Key,这个可以根据自己需要去网上搜索 string url_long = $"u ...

如何利用新浪官方的短网址API接口实现T.cn短链接的压缩生成

短网址的实现原理就是有一个数据表会配置文件将短网址和实际网址进行对应,当请求某个短网址时,程序跳转到对应的实际网址上去,从而实现网址的访问.目前国内最稳定最好用的是新浪T.cn短链接. 之前新浪提供了 ...

关于新浪和腾讯短网址API接口的调用

最新新浪t.cn短网址和腾讯url.cn短网址生成api接口,快速生成t.cn及url.cn超短链接,接口都可以正常调用,觉得不错可以收藏一下. 新浪短网址api接口:1. http://yldwz. ...

新浪短网址最新api接口

1,雨林短网址 网站链接:http://yldwz.cn 雨林短网址采用新浪.腾讯官方API接口,强大的多功能API,简单易用,质量高官 网提供强技术支持,99.9% SLA服务稳定安全可靠的校验机制 ...

新浪实时股票数据接口http://hq.sinajs.cn/list=code

股票数据的获取目前有如下两种方法可以获取:1. http/javascript接口取数据2. web-service接口 1.http/javascript接口取数据1.1Sina股票数据接口以大秦铁 ...

新浪实时股票数据接口http://hq.sinajs.cn/list=股票代码

股票数据的获取目前有如下两种方法可以获取: 1. http/JavaScript接口取数据 2. web-service接口 1.http/JavaScript接口取数据1.1Sina股票数据接口以大 ...

如何防止短信API接口遍历

短信API接口在web中得到越来越多的应用,如用户注册,登录,密码重置等业务模块都会使用手机验证码进行身份验证.一般情况下,我们会采用这样的安全策略,将短信发送频率限制在正常的业务流控范围内,比如,一 ...

PHP实现新浪长链接转化成短链接API

我们经常收到类似于这样的短信(如下图),发现其中的链接并不是常规的网址链接,而是个短小精悍的短链接,产品中经常需要这样的需求,如果在给用户下发的短信中是一个很长的连接,用户体验肯定很差,因此我们需要实 ...

调用新浪短地址转换api的一个测试

import base64 import requests url="http://www.~~~~.com" headers={ "User-Agent":& ...

随机推荐

正则表达式解析URL

正则表达式: var match = /^((ht|f)tps?:)\/\/([\w-]+(\.[\w-]+)*\/){1}(([\w-]+(\.[\w-]+)*\/?)*)?(\?([\w\-\., ...

数据结构《19》----String容器的三种实现

一.序言 一个简单的string 容器到底是如何实现的? 本文给出了 String 的三种从易到难的实现,涉及了 reference counting, copy on write 的技术. 二.第一 ...

响应式Web初级入门

html新浪短域名api,新浪短链接API接口示例相关推荐

  1. 短域名php,php生成短域名函数_PHP教程

    public function createRandCode($string) { $code = ''; $hex_code = '1qaz2wsx3edc4rfv5t-gb6yhn7ujm8ik9 ...

  2. 什么样的域名才能算短域名?短域名还能有吗?

    众所周知,域名越短越好,短域名便于用户记忆,同时也更有价值.这里有人要问了,什么样的域名才能算短域名吗?现如今短域名还能有吗?以下是小聚给大家的介绍. 1.什么样的域名才能算短域名? 短域名就是字符短 ...

  3. 新浪短域名和百度短域名

    主要针对短信的链接 或者 app push的链接处理 如果链接过长 导致用户体验很差 所以使用新浪微博或百度的短链接功能 两种短域名功能区别在于 新浪通过get请求 但需要有app key 百度不需要 ...

  4. 利用新浪API批量生成t.cn 短链接的接口有哪些?

    新浪提供了长链接转为短链接的API,可以把长链接转为t.cn/xxx这种格式的短链接.短链接对于一些商家来说使用价值非常大,故整理了6个较为好用的t.cn短链接批量生成接口. 1.快鸟短网址 随着移动 ...

  5. php新浪api,php调用新浪短链接API的方法,php调用新浪api_PHP教程

    php调用新浪短链接API的方法,php调用新浪api 本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: 复制代码 代码如下: //Sina App_Key def ...

  6. 新浪短链api java_php调用新浪短链接API的方法

    本文实例讲述了php调用新浪短链接API的方法.分享给大家供大家参考.具体方法如下: //Sina App_Key define('SINA_APPKEY', '31641035'); functio ...

  7. java 新浪短网址生成器,新浪短链接接口被限制?最新新浪短网址api接口

    背景 新浪短网址api是sina平台官对外公开的短网址生成接口,可以将长链接通过接口生成t.cn样式的短链接,可以说是非常好用的.但近期新浪官方开始对已经公布的接口做出了多重限制,很多之前能用的功能现 ...

  8. php调用新浪短链接API转短链接

    调用新浪短链api,长链接可转为http://t.cn/RX7mLZh这种t.cn短链,同时可转回原链接! //新浪的App_Key const SINAAPPKEY = '291**161014'; ...

  9. java 新浪短链接_短网址链接生成器代码示例——新浪短链接api接口php、java、Python调用演示...

    短网址api对接成了大家经常遇到的难题,今天以t.cn短链接api接口为例给出三种语言的调用示例代码: 1.APIKEY获取: 2.调用代码 PHP调用代码 $url = 'http://www.ba ...

  10. 新浪云存储 php,新浪云存储SCS | API文档

    概述 新浪云存储服务主要提供以下三类API: Service操作 Bucket操作 Object操作 与此同时,为提高用户使用的安全性,新浪云存储服务还通过使用签名来验证请求者的身份. 如需了解签名算 ...

最新文章

  1. 宝塔Linux常用命令
  2. 卧槽!阿里《算法进阶指南》火了,完整版 开放下载!
  3. java项目怎样提高性能_从代码的角度谈如何优化JAVA代码以提高性能【初、中级程序员必看】...
  4. 兰州办着眼大数据切实提升数据分析管理能力
  5. 网络推广网站浅析如何做好关键词布局优化?
  6. 关于过往与未来的思考
  7. 一个FragmentActivity多个Fragment的生命周期事件记录
  8. 为安装创建软链接,迁移文件夹
  9. OpenKruise :SidecarSet 助力 Mesh 容器热升级
  10. C指针原理(34)-Ncurses-文本终端的图形
  11. 探讨ASP.NET 2.0中的Web控件改进技术(2)
  12. hash表与系统顺序寻址
  13. 如何让Sublime Text支持ABAP7.40之后新的关键字语法高亮
  14. 证券期货行业监管大数据治理方案研究
  15. 关于集合中元素的有序无序的易混淆点
  16. 实参与形参不兼容_python学习笔记------形参实参2
  17. 1.4-nginx启动脚本和配置文件
  18. 中孚保密检查客户端 完全卸载_保密检查工具 中孚保密检查清除工具
  19. Displaytag的使用四
  20. 解决联想笔记本电源选项 电源管理无效

热门文章

  1. Android Startup实现分析
  2. 物联网技术:射频识别技术RFID解析
  3. Winhex手动恢复删除数据
  4. hadoop 3.0新特性简单介绍
  5. Number.EPSILON
  6. python量化交易策略实例_Python进阶量化交易:听说有个回测框架叫backtrader
  7. 【生活日记】  路在脚下,更在心中,心随路转,心路常宽
  8. verilog——三八译码器
  9. 基于GNU Radio和HackRF/LimeSDR的802.11收发机
  10. 阿里云MaxComputer SQL学习之内置函数