当前位置: 首页 > 后端技术 > PHP

新浪微博API生成短链接

时间:2023-03-30 05:18:33 PHP

通过新浪微博API生成短链接,一次支持多个长链接。什么是短链接?通俗地说,就是通过程序等方式计算出一个长URL,转换成一个短URL字符串。短链接服务中国各大微博都推出了自己的短链接服务。比如新浪微博、腾讯微博等,为什么选择新浪微博API?新浪微博短链接API开放。新浪微博短链接API不需要用户登录。文档查询链接short_url/shorten接口地址网上一些公开的AppKeys。新浪微博短链接在线生成。创建自己的AppKey后,只需替换类的成员属性$appKey的值即可,如下,$shortUrl为API请求地址//APPkey,我在网上找的(https://fengmk2.com/blog/appkey.html),可以申请protected$appKey='569452181';//缩短连接API地址protected$shortUrl='https://api.weibo.com/2/short_url/shorten.json?';其他的,基本不需要配置,直接实例化类ShortLink,然后调用方法getShortUrl即可。需要注意的是,长链接URL数组$longUrl中的值可以传多个值。当然,为了方便,我把它写成了一个类,大家可以根据自己的需要进行调整。源码$code,'msg'=>$msg,'result'=>$result];}//拼接请求URL$longUrlStr=$this->_getLongUrl($longUrl);$shortUrl=$this->shortUrl;$appKey=$this->appKey;$param='来源='.$应用密钥。'&'。$longUrlStr;$curlUrl=$shortUrl。$参数;//发送CURL请求$result=$this->_sendCurl($curlUrl);返回['code'=>$code,'msg'=>$msg,'result'=>$result];}/***获取请求URL字符串*@paramarray$longUrl长链接数组*@returnstring长链接URL字符串*/privatefunction_getLongUrl($longUrl=[]){$str='';foreach($longUrlas$url){$str.=('url_long='.$url.'&');}$newStr=substr($str,0,strlen($str)-1);返回$newStr;}/***发送CURL请求(GET)*@paramstring$curlUrl请求地址*@return数组返回信息*/privatefunction_sendCurl($curlUrl){//初始化$ch=curl_init();//设置选项,包括URLcurl_setopt($ch,CURLOPT_URL,$curlUrl);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_HEADER,0);//执行并获取HTML文档内容$output=curl_exec($ch);//释放curl句柄curl_close($ch);//Json数据转为数组$result=json_decode($output,true);返回$结果;}}//实例化对象$shortObj=newShortLink();//多个链接可以直接放在数组中,类似于$longUrl=['url1','url2',...]$longUrl=['http://blog.y0701.com/index.html'];//开始将长链接转换为短链接$result=$shortObj->getShortUrl($longUrl);打印_r($结果);结论上面提到的一些从网上搜索得到的AppKey,由于来源不明,不建议用于生产环境。应用上线