短链接生成与还原
小明API 官方文档
短链接生成与还原,包括新浪、腾讯、百度
基本说明:
接口地址:http://api.guaqb.cn/v1/link/
返回格式:json
请求方式:get/post
请求示例:http://api.guaqb.cn/v1/link/
请求参数说明:
名称 类型 必填 说明
url string 必填 链接
type int 选填 短链接平台(1新浪短链接,2腾讯短链接,3urlc短链接,4百度短链接)
key string 必填 你的key
secret string 必填 你的密钥
返回参数说明:
名称 类型 说明
- - -
JSON返回示例:
{
	"url_short": "http://t.cn/RSaH5Zt",
	"url_long": "http://api.guaqb.cn",
	"type": "0"
}
服务级错误码参照
错误码 说明
404 访问的IP页面错误或不存在
1000 访问的IPkey错误或不存在
2000 访问的IP密钥错误
3000 访问的IP余额不足,请充值
4000 访问的IP用户日调用量超限
5000 访问的IPapi已关闭服务
6000 访问的IP没有找到该key对应的邮箱
10000 缺少必要的参数
完整教学代码示例
<?php
/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2019/3/15 17:50
 */
//----------------------------------
// 小明API 短链接生成与还原 调用类
//----------------------------------
class freeApi{
    private $apiUrl = 'http://api.guaqb.cn/v1/link/';
    /**
     * url拼接
     * @return string
     */
    private function handleUrl($params){
        $o = "";
        foreach ( $params as $k => $v )
        {
            $o.= "$k=" . urlencode( $v ). "&" ;
        }
        $params = substr($o,0,-1);
        return $params;
    }
    /**
     * 获取结果
     * @return array
     */
    public function getResult(){
        $params['url'] = 'https://v.qq.com/x/cover/yi4vx0r0iwsnud3.html';
        $params['type'] = 1;
        $params['key'] = 'your';
        $params['secret'] = 'your';
        return $this->freeApiCurl($this->apiUrl.'?'.$this->handleUrl($params));
    }
    /**
     * 请求接口返回内容
     * @param  string $url [请求的URL地址]
     * @param  string $params [请求的参数]
     * @param  int $ipost [是否采用POST形式]
     * @return  string
     */
    public function freeApiCurl($url,$params=false,$ispost=0){
        $ch = curl_init();
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
        curl_setopt( $ch, CURLOPT_USERAGENT , 'free-api' );
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 60 );
        curl_setopt( $ch, CURLOPT_TIMEOUT , 60);
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
        if( $ispost )
        {
            curl_setopt( $ch , CURLOPT_POST , true );
            curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
            curl_setopt( $ch , CURLOPT_URL , $url );
        }
        else
        {
            if($params){
                curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
            }else{
                curl_setopt( $ch , CURLOPT_URL , $url);
            }
        }
        $response = curl_exec( $ch );
        if ($response === FALSE) {
            return false;
        }
        curl_close( $ch );
        return $response;
    }
}
$api = new freeApi();
var_dump($api->getResult());