955.cc短网址api

955.cc短网址API简介

API允许第三方自由调用URL缩短或者URL还原,基于txt/json/jsonp模式。

目前没有针对用户的请求频数做限制,但是如果滥用或造成资源浪费,将可能会自动被封禁IP段。

现在 955 短网址已经支持 https 的调用(spdy)。您现在还可以调用 https://955.cc/short/,并且支持https访问生成的短网址。

支持的网址

如果缩短的网址没有写明协议,默认为 http://。除了支持 http,我们还支持 https/ftp/P2P 网址等。

1、简单模式

请求 955.cc/short/?url=baidu.com 返回txt明文,为压缩过后的网址。

http://955.cc/ay
如果出错则将返回类似这样的格式:
提示:你所输入的网址(URL)是不允许的。(-2) 

2、json

请求 955.cc/short/?url=baidu.com&format=json 返回json数据

{
"errno":0,
"url":"http:\/\/955.cc\/ay",
"error":""
}
如果 errno 为0说明成功,-1为URL因为安全原因被拦截,拦截原因见error。

3、jsonp

请求方式同上,但是format为jsonp,并要指定callback,

例如:955.cc/short/?url=baidu.com&format=jsonp&callback=test 将会返回类似数据:

test({
"errno":0,
"url":"http:\/\/955.cc\/ay",
"error":""
})

还原

如果请求的url参数格式是 http://955.cc/([a-zA-Z0-9]+) 则返回结果里的url显示的是原始URL。

例如:http://955.cc/short/?url=955.cc/ay&format=jsonp&callback=test 返回

test({
"errno":0,
"error":"",
"url":"http:\/\/baidu.com"
})

错误代码

  1. 0 为成功无错。
  2. -1为因为安全原因被拦截。拦截原因见 error 的说明。

        我们的系统会查询国内主流安全商并封禁威胁用户安全的网址。如果出现误报请邮件联系管理员。

  3. -2 为其他错误,往往是格式不对。
  4. -3是指定为jsonp时,如果未指定callback存会出现此错误。
  5. 如果内容为空或者http状态码非200,则说明系统出现异常,需要稍后再试。

使用的例子:

在jQuery中使用的例子:

$.getJSON('http://955.cc/short/?url=' + encodeURIComponent('http://baidu.com') + '&format=jsonp&callback=?',
function(data){
if(data.errno == 0) {
alert(data.url);
}
}
);

在Python中使用的例子:

#coding=utf8
import urllib2
content = urllib2.urlopen("http://955.cc/short/?url=www.douban.com").read()
print content

在Ruby中使用的例子:

require "open-uri"
content = open('http://955.cc/short/?url=www.douban.com').read
print content

在PHP中使用的例子:

<?php
$content = file_get_contents("http://955.cc/short/?url=" . urlencode($_SERVER['HTTP_HOST'])."&format=json");
var_dump(json_decode($content,1));

QRCode 二维码调用

调用格式为 http://955.cc/短地址代码.qr,例如: 「http://955.cc/ay.qr」,显示结果为:

此外如需为QR码指定尺寸,可以附带size参数,为图片的像素宽/高。例如:

http://955.cc/ay.qr?size=500
需要注意的是,1、尺寸大小范围为30~1000px。2、尽量使用常见取整的像素值,例如 120px、200px,未来可能会对传入尺寸化去不常见格式的个位数,以助于Cache。

数据统计API

数据统计API是2013年五月份后开放的,数据也是自此开始统计的,支持查询单个短网址的数据。

我们致力于成为更开放的平台,在保护隐私的基础上将逐步提供更多API。需要注意的是:

  • 1、请控制好请求频率。如有特殊需求请与我们邮件沟通。
  • 2、统计的数据是从 2013 年五月份启用新架构后的。
  • 3、目前仅支持 json 方式调用。

全部数据

调用地址为: http://955.cc/api/statistics/{$code}.json?type=all 例如:http://955.cc/api/statistics/drgB.json?type=all

返回格式举例:

{
"code": "drgB",
"data": {
"ips": 18720.0,
"clicks": 25066.0
}
}
data字段里,ips是所有时间的ip数,clicks是所有时间的点击数。

每日数据

调用地址为: http://955.cc/api/statistics/{$code}.json 例如:http://955.cc/api/statistics/drgB.json

支持的参数: date,例如 "2013-05-07"、"yesterday"。 由 timelib 的 strtodatetime 方法解析格式。

返回格式举例:

{
"ips": 4958,
"date": "2013-05-07",
"hour": {
"0": 171,
"1": 77,
"2": 62,
"3": 25,
"4": 33,
"5": 25,
"6": 52,
"7": 75,
"8": 283,
"9": 504,
"10": 294,
"11": 897,
"12": 987,
"13": 825,
"14": 317,
"15": 284,
"16": 1000,
"17": 587
},
"province": {
"\u5e7f\u4e1c": 777,
"\u6d59\u6c5f": 612,
"\u6c5f\u82cf": 593,
"\u4e0a\u6d77": 472,
"\u56db\u5ddd": 445,
"\u798f\u5efa": 291,
"\u5c71\u4e1c": 272,
"\u6e56\u5317": 259,
"\u5317\u4eac": 247,
"\u6e56\u5357": 234,
"\u6cb3\u5357": 220,
"\u5e7f\u897f": 210,
"\u8fbd\u5b81": 195,
"\u5b89\u5fbd": 195,
"\u91cd\u5e86": 182,
"\u6cb3\u5317": 163,
"\u9655\u897f": 137,
"\u5409\u6797": 133,
"\u6c5f\u897f": 121,
"\u9ed1\u9f99\u6c5f": 119,
"\u4e91\u5357": 117,
"\u8d35\u5dde": 98,
"\u5929\u6d25": 85,
"\u5c71\u897f": 78,
"\u65b0\u7586": 50,
"\u5185\u8499\u53e4": 41,
"\u7518\u8083": 31,
"\u6d77\u5357": 24,
"\u4e2d\u56fd": 15,
"\u7f8e\u56fd": 13,
"\u5b81\u590f": 11,
"\u97e9\u56fd": 9,
"\u9999\u6e2f": 7,
"\u52a0\u62ff\u5927": 6,
"\u6fb3\u5927\u5229\u4e9a": 6,
"\u53f0\u6e7e": 6,
"\u9752\u6d77": 5,
"\u65b0\u52a0\u5761": 5,
"\u897f\u85cf": 3,
"\u65e5\u672c": 3,
"\u610f\u5927\u5229": 2,
"\u6cf0\u56fd": 2,
"\u9a6c\u6765\u897f\u4e9a": 1,
"\u6cd5\u56fd": 1,
"\u65b0\u897f\u5170": 1,
"\u6fb3\u95e8": 1
},
"clicks": 6498
}
字段说明:clicks:当日点击数。ips:ip数。date:数据的日期。hour:每小时的点击数,key是小时,value是该小时的点击数。province:各个省份的点击数。国外则显示国名。