php调用新浪短链接API的方法

网络 2024-04-06 10:38:48编程技术
140

本文实例讲述了php调用新浪短链接API的方法。分享给大家供大家参考。具体方法如下:

<?php

//Sina App_Key

define('SINA_APPKEY', '31641035');

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://)开头的和不规范的地址会返回错误

function filterUrl($url = '') {

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

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

 if ($url == '')

 return false;

 else

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

}

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

function sinaShortenUrl($long_url) {

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

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

 //获取请求结果

 $result = curlQuery($url);

 //下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西

 //print_r($result);exit();

 //解析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=' . SINA_APPKEY . '&url_short=' . $short_url;

 //获取请求结果

 $result = curlQuery($url);

 //下面这行注释用于调试,你可以把注释去掉看看从sina返回的信息是什么东西

 //print_r($result);exit();

 //解析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;

}

//要缩短的网址

$url = $long; //这里自己看着办,修改成你要缩短的网址还是获取post的数据还是怎么滴。

$url = filterUrl($url);

$short = sinaShortenUrl($url);

$ulong = sinaExpandUrl($short);

?>

本文中短连接已经附带的一个appkey不用再自己申请KEY当然你如果需要使用你自己的您也可以自己去替换。至于用法就看你了,镶入到其他程序使用,单独做个生成短连接的页面都可以。使用方法就不多说了。

希望本文所述对大家的PHP程序设计有所帮助。

php 短链接
THE END
蜜芽
故事不长,也不难讲,四字概括,毫无意义。

相关推荐

IntelliJ IDEA中Git版本回退:Reset与Revert的实战指南
在使用Git进行版本管理时,我们难免会遇到需要回退代码版本的情况,比如修复错误提交、撤销合并等。这时,如何正确、高效地进行版本回退就显得尤为重要。本文将详细介绍在Int...
2025-03-26 编程技术
197

Ubuntu 系统部署 Ollama + DeepSeek + Docker + Ragflow
Ollama和DeepSeek作为当前领先的NLP模型,其强大的功能和灵活性使其在各种应用场景中备受青睐。为了更好地利用这些模型,许多开发者和企业选择在本地环境中进行部署。本文将详...
2025-03-26 编程技术
196

DeepSeek-R1+Ollama本地化部署方法及技巧分享
Ollama作为当前最受欢迎的本地大模型运行框架,为DeepSeek R1的私有化部署提供了便捷高效的解决方案。本文将深入讲解如何将Hugging Face格式的DeepSeek R1模型转换为Ollama支...
2025-03-26 编程技术
191

DeepSeek部署实战:Ollama+Chatbox零成本部署DeepSeek-R1系列模型攻略(Windows)
在人工智能领域,DeepSeek-R1系列模型以其强大的性能和广泛的应用场景,受到了众多开发者和企业的青睐。本文将通过结合Ollama和Chatbox两大工具,详细阐述如何在Windows环境下...
2025-03-25 编程技术
213

开源AI平台Cherry Studio本地部署与远程调用本地大模型图文详解
对于初次接触Cherry Studio的用户来说,如何顺利进行本地部署并实现远程调用本地大模型,可能是一个既充满挑战又极具价值的学习过程。本文旨在通过图文并茂的方式,详细阐述C...
2025-03-25 编程技术
205

IDEA编程加速:利用深度思考模型QwQ提升编码效率之道
本文旨在探索如何在IDEA这一广受欢迎的编程平台上,有效利用深度思考模型QwQ,从而实现编程效率的显著提升。我们将从QwQ的基本原理出发,深入剖析其在代码补全、错误检测、智...
2025-03-25 编程技术
199