简介
此文档用于详细描述本站开放的API使用方式。
此文档仍在编辑中。
提示:PC端可通过侧边的大纲快速定位
部分项目因服务器(CPU,内存,磁盘,流量等)开销较大,必要时可能会关闭相关API服务
开放的域名:
域名 | 强制SSL | 描述 |
xiwangly.top | 是 | 主域名,一些专用的API保存在此 |
api.xiwangly.top | 是 | 最常用,日后的API都将开放于此 |
是 | 备用 |
API列表
目前默认输出都是纯文本(TEXT)格式(主要是为了适配多数QQ机器人程序),后续开放XML和JSON类型的输出。
Imagettftext
请求地址:
https://api.xiwangly.top/imagettftext/index.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
image | 否* | String | white.png(./images/white.png) | 本地图像(如果imageurl不为空,则此项无效) | |
imageurl | 否* | String | 远程图像 | ||
r | 否 | Int | 0 | 0-255 | 颜色R |
g | 否 | Int | 0 | 0-255 | 颜色G |
b | 否 | Int | 0 | 0-255 | 颜色B |
size | 否 | Float | 30 | >0 | 字体大小 |
i | 否 | Float | 0 | 字体倾斜的角度 | |
x | 否 | Int | 10 | 起始文字的x坐标 | |
y | 否 | Int | 40 | 起始文字的y坐标 | |
font | 否 | String | arialuni.ttf(./fonts/arialuni.ttf) | 字体文件 | |
text | 否 | String | 文本 |
请求示例:https://api.xiwangly.top/imagettftext/?image=&imageurl=&r=&g=&b=&size=&i=&x=&y=&font=&text=文本
返回格式:Images
开源地址: imagettftext
图形化的imagettftext:https://api.xiwangly.top/imagettftext/get.html
感谢@mufeng233的美化版imagettftext:https://api.muxiuge.cn/imagetext
短网址
请求地址:
请求方式:GET
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
url | 是 | String | 【[a-zA-z]+://[^\s]*】 | 网址 |
请求示例:
返回格式:TEXT
开源地址:dwz_php
Math
请求地址:https://api.xiwangly.top/math.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 描述 |
x | 否 | String | x的值 | |
y | 否 | String | y的值 | |
z | 否 | String | z的值 | |
m | 是 | String | m的值 |
请求示例:https://api.xiwangly.top/math.php?x=2&y=3&z=&m=a
返回格式:TEXT
如果只需要1个值参与运算,请保留x的值;如果只需要2个值参与运算,请保留x和y的值;以此类推。在下表的备注中(number)即需要提交的变量数(不包含m的值)。值的大小写是敏感的。
名称 | m的值 | 备注 |
加(x+y) | a | (2) |
减(x-y) | s | (2) |
乘(x*y) | m | (2) |
除(x/y) | d | (2) |
余(x%y) | r | (2) |
并置(x.y) | ss | (2|3)合并字符串 |
幂(x^y) | pow | (2) |
绝对值(|x|) | abs | (1) |
反余弦 | acos | (1) |
反双曲余弦 | acosh | (1) |
反正弦 | asin | (1) |
反双曲正弦 | asinh | (1) |
反正切 | atan | (1) |
两个变量的反正切 | atan2 | (2) |
反双曲正切 | atanh | (1) |
进制转换 | base | (3)x为待转换值,y为原进制,z为要转换的进制,不支持浮点和负数 |
二进制转十进制 | bindec | (1) |
向上舍整 | ceil | (1)向上舍入最接近的整数 |
余弦 | cos | (1) |
双曲余弦 | cosh | (1) |
十进制转二进制 | decbin | (1) |
十进制转十六进制 | dechex | (1)等价于$HexEncoder %括号1%$ |
十进制转八进制 | decoct | (1) |
角度值转弧度值 | deg2rad | (1) |
E^x | exp | (1) |
E^x-1 | expm1 | (1) |
向下取整 | floor | (1)向下舍入最接近的整数 |
模(x/y的余数) | fmod | (2) |
x至最大值 | getrandmax | (1)x-getrangmax的最大值 |
十六进制转十进制 | hexdec | (1)等价于$HexDecoder %括号1%$ |
直角三角形的斜边值(x^2+y^2) | hypot | (2) |
判断是否为有限值 | finite | (1)返回值为"1"或null |
判断是否为无限值 | infinite | (1)返回值为"1"或null |
判断是否为非数值 | nan | (1)返回值为"1"或null |
0-1伪随机数 | lcg | (1|2|3)x|y|z可以定义任何值 |
对数 | log | (1|2)如果y为null,则输出以e为底的对数(自然对数) |
以10为底的对数 | log10 | (1) |
对数1+x | log1p | (1) |
最大值 | max | (2|3)输出x,y(,z)中的最大值 |
最小值 | min | (2|3)输出x,y(,z)中的最小值 |
x至最大值 | mtgetrandmax | (1)x-mt_getrangmax的最大值 |
随机整数 | mtrand | (2)使用Mersenne Twister算法生成随机整数 |
播种随机数 | mtsrand | (1)播种Mersenne Twister随机数生成器 |
八进制转十进制 | octdec | (1) |
π | pi | (1|2|3)x|y|z可以定义任何值,输出圆周率π的值 |
弧度值转角度值 | rad2deg | (1) |
随机整数 | rand | (2)比上表的mtrand更慢 |
浮点数四舍五入 | round | (1) |
正弦 | sin | (1) |
双曲正弦 | sinh | (1) |
平方根 | sqrt | (1) |
播种随机数 | srand | (1)播种随机数生成器 |
正切 | tan | (1) |
双曲正切 | tanh | (1) |
递增 | aa | (1) |
递减 | rr | (1) |
测试打印变量 | echox,echoy,echoz | (1)m允许的值3选1 |
常数e | e | (1|2|3)x|y|z可以定义任何值,输出常数e |
Euler常量 | euler | (1|2|3)x|y|z可以定义任何值,输出Euler常量 |
URL | url | (1)跳转外链 |
时间戳 | time | (1|2|3)x|y|z可以定义任何值 |
日期 | date | (1)x允许的值见(点我跳转) |
MD5 | md5 | (1|2)y允许的值有"true"(输出16字符)或null(输出32字符) |
生成唯一ID | uniqid | (1|2)x规定生成前缀(可为空),y允许的值有"true"(输出23字符)或除"true"外任何值(输出13字符) |
随机布尔值 | tf | (1|2|3)x|y|z可以定义任何值 |
文件MD5 | md5file | (1)支持多协议,不允许大文件或木马传入 |
base64加密 | base64encode | (1) |
base64解密 | base64decode | (1) |
逻辑与 | and,andand | (2)m允许的值2选1 |
逻辑或 | or,oror | (2)m允许的值2选1 |
逻辑异或 | xor | (2) |
逻辑非(不等于) | not | (2) |
等于 | equal | (2) |
不等于 | lessgreater | (2) |
大于 | greater | (2) |
小于 | less | (2) |
大于等于 | greaterequal | (2) |
小于等于 | lessequal | (2) |
圆的面积 | areaacircle | (1)x为半径 |
获取浮点值 | floatval,doubieval | (1)m允许的值2选1 |
获取整数值 | intval | (1) |
获取布尔值 | boolval | (1) |
判断是否为空值 | empty | (1) |
uuencode 编码 | uuencode | (1) |
uuencode 解码 | uudecode | (1) |
带有函数的字符串 | fx | (1) |
判断数字大小 | cmp | (2)x<y返回"(1)",x=y返回"0",x>y返回"1" |
正则表达式判断 | preg | (2)x为正则表达式,y为待匹配内容 |
ASCII字符转十六进制 | bin2hex | (1) |
把数据装入一个二进制字符串 | pack | (2)与bin2hex相反,x为包装数据时所使用的格式,y为内容 |
从指定的 ASCII 值返回字符 | chr | (1) |
单向字符串加密(hashing) | crypt | (1|2)x为要编码的字符串,y规定增加被编码字符数目的字符串 |
计算字符串32位CRC | crc32 | (1) |
反向显示希伯来字符 | hebrev | (1|2) |
反向显示希伯来字符 | hebrevc | (1|2)反向显示希伯来字符,并把新行(\n)转换为<br>,y规定每行的最大字符数 |
开源地址:math-API
一言
请求地址:https://api.xiwangly.top/yiyan.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
return | 否 | String | json,【.+】 | 返回类型 |
请求示例:https://api.xiwangly.top/yiyan.php
返回格式:TEXT/JSON
输出随机一言
Ping
请求地址:https://api.xiwangly.top/ping.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
ip | 是 | String | 【[^\s]*】 | IP或域名 |
请求示例:https://api.xiwangly.top/ping.php?ip=127.0.0.1
返回格式:TEXT
网络诊断工具,测试网络连通性
开源地址:xiwangly_ping
Dic
请求地址:
请求方式:GET
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
q | 是 | String | 第一个空格前(不包括第一个空格) | 问题 | |
a | 否 | String | 第一个空格到第二个空格之间(不包括空格) | 回答 |
请求示例:
返回格式:TEXT
开源地址:sqldic.php
随机图片(试运行)
请求地址:https://e52.top/image-cs.php
https://api.xiwangly.top/image-cs.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
key | 是 | String | 123456 | 【.+】 | 密钥 |
type | 否 | String | bz,【.+】 | 图片类型 | |
return | 否 | String | print,json,【.+】 | 返回类型 |
请求示例: https://e52.top/image-cs.php?key=123456&return=json
返回格式:Images/JSON
输出一张随机二次元图片,type填bz输出壁纸,不填或填其他默认方法输出,return填print直接通过脚本输出(URL固定),填json输出JSON,不填或填其他默认从源URL输出,图片保存在本地
随机图片-数据库版本(试运行)
请求地址:https://e52.top/images-cs.php
https://api.xiwangly.top/images-cs.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
key | 是 | String | 123456 | 【.+】 | 密钥类型 |
type | 否 | String | bz,【.+】 | 返回类型 |
请求示例: https://e52.top/images-cs.php?key=123456
返回格式:Images
输出一张随机二次元图片,type填bz输出壁纸, 不填或填其他默认方法输出,图片保存在数据库
ACG随机图片
请求地址:https://api.xiwangly.top/random.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
return | 否 | String | img,json,jsonpro,【.+】 | 返回类型 |
请求示例: https://api.xiwangly.top/random.php?return=json
返回格式:Images/JSON
输出一张随机二次元图片,return填img浏览器直接输出图片,填json按JSON格式输出,填jsonpro则随机JSON输出10张图片,不填或填其他直接跳转到源图片URL,图片保存在新浪(sinaimg.cn)。
处理过程:
返回示例:
{
"code":"200",
"imgurl":"https://tva1.sinaimg.cn/large/006ZFECEgy1fr1x6emudfj31hc0u0nkd.jpg",
"width":"1920",
"height":"1080",
"mime":"image/jpeg"
}
Live2D看板娘
请求地址:https://api.xiwangly.top/live2d/autoload.js
https://xiwangly.top/live2d_load/autoload.js
请求示例及开源地址见live2d-widget,live2d
Pinyin
请求地址:https://api.xiwangly.top/pinyin.php
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
text | 是 | String | 【.*】 | 文本 | |
return | 否 | String | convert_pinyin | convert_pinyin,convert_pinyin_tone,convert_pinyin_ascii_tone,permalink,permalink_.,link,link.,abbr,abbr_-,abbr_pinyin_keep_number,abbr_pinyin_keep_english,sentence,sentence_pinyin_tone,name,name_tone | 返回类型 |
请求示例:https://api.xiwangly.top/pinyin.php?text=带着希望去旅行&return=permalink
返回格式:TEXT/JSON
开源地址:引用自overtrue/pinyin,感谢这些大佬们的开源项目
用于将汉字转换成拼音,permalink
等同link
,permalink_.
等同link.
,注意下划线和英文句号(仅仅是为了简化表示)
User-Agent
请求地址:https://api.xiwangly.top/ua.php
https://api.xiwangly.top/ua-lookup.php
前者是我自己修改的一个简单的ua获取脚本,不需要提供任何参数;后者采用php的get_browser()
函数实现,更全面响应也更慢,我采用了full_php_browscap.ini
文件,支持指定ua查询
请求方式:GET/POST
参数名称 | 必填 | 类型 | 默认值 | 取值范围【正则表达式】 | 描述 |
ua | 否 | String | 【.*】 | User-Agent |
请求示例:https://api.xiwangly.top/ua-lookup.php?ua=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/103.0.0.0%20Safari/537.36
返回格式:TEXT/Images/JSON/XML
开源地址:
返回示例:
前者:
{
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
"os": "Windows 10 x64",
"method": "GET",
"language": "zh-CN,zh;q=0.9,en;q=0.8",
"ip": "2409:8a38:5614:f440:adf9:e142:c144:2624",
"uri": "/ua.php",
"browser": "Chrome",
"referer": null,
"time": 1659147283
}
后者:
{
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36",
"method": "GET",
"language": "zh-CN,zh;q=0.9,en;q=0.8",
"ip": "116.80.41.20",
"uri": "/ua-lookup.php?ua=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/103.0.0.0%20Safari/537.36",
"referer": null,
"time": 1659160602,
"browser_name_regex": "~^mozilla/5\\.0 \\(.*windows nt 10\\.0.*win64. x64.*\\) applewebkit.* \\(.*khtml.*like.*gecko.*\\) chrome/103\\.0.*safari/.*$~",
"browser_name_pattern": "Mozilla/5.0 (*Windows NT 10.0*Win64? x64*) applewebkit* (*khtml*like*gecko*) Chrome/103.0*Safari/*",
"parent": "Chrome 103.0",
"browser_bits": "64",
"platform": "Win10",
"platform_version": "10.0",
"platform_description": "Windows 10",
"platform_bits": "64",
"platform_maker": "Microsoft Corporation",
"win64": "1",
"comment": "Chrome 103.0",
"browser": "Chrome",
"browser_type": "Browser",
"browser_maker": "Google Inc",
"version": "103.0",
"majorver": "103",
"frames": "1",
"iframes": "1",
"tables": "1",
"cookies": "1",
"javascript": "1",
"cssversion": "3",
"aolversion": "0",
"device_name": "Windows Desktop",
"device_type": "Desktop",
"device_pointing_method": "mouse",
"device_code_name": "Windows Desktop",
"renderingengine_name": "Blink",
"renderingengine_description": "a WebKit Fork by Google",
"renderingengine_maker": "Google Inc",
"browser_modus": "unknown",
"minorver": "0",
"alpha": "",
"beta": "",
"win16": "",
"win32": "",
"backgroundsounds": "",
"vbscript": "",
"javaapplets": "",
"activexcontrols": "",
"ismobiledevice": "",
"istablet": "",
"issyndicationreader": "",
"crawler": "",
"isfake": "",
"isanonymized": "",
"ismodified": "",
"device_maker": "unknown",
"device_brand_name": "unknown",
"renderingengine_version": "unknown"
}
名称(模板)
请求地址:
请求方式:GET/POST
(请求表单)
请求示例:
返回格式:TEXT/Images/JSON/XML
开源地址:
(其他)
JSON公共返回值
键名 | 可能的值 | 描述 |
code | (请通过互联网自行查找) | HTTP状态码 |
text | 文本 | |
msg | 消息 | |
message | msg的别名 | |
id | ID | |
name | 名称 | |
data | 数据 | |
bin | 二进制数据 |
本站不是所有的json输出都遵循此设定
其他
旧的API文档:https://www.lolichan.vip/threads/api-xiwangly-api.205/
Comments 6 条评论
这是一条私密评论
还有几天就春节了,提前祝福一下|´・ω・)ノ
插眼
芜湖 日常走访
要是用在QR中,该如何换行呢,要是加一个用来换行的参数就好了(狗头保命
@匿名 可以使用%0A(URL编码中的换行)进行换行,示例:示例:https://xiwangly.top/imagettftext/?image=&imageurl=&r=&g=&b=&size=&i=&x=&y=&font=&text=文本一%0A文本二