干货分享——超稳定新浪(T.CN)短链接API接口实现

1,348 阅读2分钟

去年年底,因为一个客户委托我们开发了一个新浪短网址API接口!原本这个T.cn的短链接接口一直是我们自己和委托开发的客户在使用!但是由于前段时间,新浪关闭了之前开放的T.CN短链接接口!有好多客户朋友找到我说需要这个功能,然后我便答应我这边把这个API接口的细节完善下。在给他们使用!其实框架很早之前也是开发好了,接口其实去年12月就已经做好了。但是因为我自己的原因,确实没有时间去管这个,于是就放下了。直到最近有些空闲的时候,便有抽空完善一下。现在我就把这个接口放出来。正常来说一般的朋友这个接口就够他用了!

使用说明

接口地址:

http://api.monkeyapi.com

请求方式:

http get/post

返回格式:

json

请求示例:

http://api.monkeyapi.com?appkey={appkey}&url=www.baidu.com

JSON返回示例

{"code": 200,"msg": "成功","data": "http://t.cn/ELuxjqk"}

node

//node request模块安装命令:npm install request
var request = require('request');
var querystring = require('querystring');

var queryData = querystring.stringify({
    "appkey": "appkey",  // 您申请的APPKEY
    "url": "www.monkeyapi.com",  // 需要查询的网站
});

var queryUrl = 'http://api.monkeyapi.com?'+queryData;
request(queryUrl, function (error, response, body) {
    if (!error && response.statusCode == 200) {
        console.log(body) // 打印接口返回内容
        var jsonObj = JSON.parse(body); // 解析接口返回的JSON内容
        console.log(jsonObj)
    } else {
        console.log('请求异常');
    }
})

php

$url = "http://api.monkeyapi.com";
$params = array(
'appkey' =>'appkey',//您申请的APPKEY
'url' =>'www.monkeyapi.com',//需要查询的网站
);

$paramstring = http_build_query($params);
$content = Curl($url, $paramstring);
$result = json_decode($content, true);
if($result) {
    var_dump($result);
}else {
    //请求异常
}

/**
    * 请求接口返回内容
    * @param    string $url [请求的URL地址]
    * @param    string $params [请求的参数]
    * @param    int $ipost [是否采用POST形式]
    * @return    string
*/
function Curl($url, $params = false, $ispost = 0)
{
    $httpInfo = array();
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 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) {
        //echo "cURL Error: " . curl_error($ch);
        return false;
    }

    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}

python

#!/usr/bin/python
# -*- coding: utf-8 -*-
import json, urllib
from urllib import urlencode

url = "http://api.monkeyapi.com"
params = {
"appkey": "appkey",  # 您申请的APPKEY
"url": "www.monkeyapi.com",  # 需要查询的网站
}
params = urlencode(params)
f = urllib.urlopen(url, params)
content = f.read()
res = json.loads(content)
if res:
    print(res)
else:
    print("请求异常")

常见问题

1、猴子数据接口稳定吗?

答:猴子数据采用官方接口实时返回,准确率高,支持大并发,稳定率99.999%。


2、什么请求量?

答:用户通过程序请求接口地址一次,接口返回一个结果(短链接)的过程叫做一次请求,需要请求短链接的次数叫做请求量。


3、请求频率是什么意思?

答:请求频率就是请求检测第一个短链接后再次请求第二个短链接时需要等待的时间。比如:频率2秒,就是两次请求直接必须间隔2秒。建议用户链接较多时使用不限频率接口,实时循环请求检测。


4、短链接接口可以批量请求吗?

答:猴子数据短链接api接口支持批量实时请求,用户可以通过定时脚本循环实时批量请求。