Public API

Anye
Anye
发布于 2024-08-11 / 202 阅读
3
2

Public API

IP 地理位置查询

ip.anye.xyz API 用于查询 IP 地址和主机名的信息,包括 IPv4 和 IPv6 地址。用户可以通过 IP 地址或主机名进行查询,还可以选择指定 DNS 服务器,数据来源于 纯真社区版IP库,每周三自动更新。

自动获取用户 IP 信息(仅可获取IPv4)

  • 请求: https://ip.anye.xyz

  • 返回:

    {
        "ip": "101.6.15.130",
        "country": "中国",
        "province": "北京",
        "city": "北京",
        "isp": "教育网"
    }

获取指定 IP 地址信息

  • 请求:https://ip.anye.xyz/?ip=<IPv4/IPv6地址>

  • 示例1:

    https://ip.anye.xyz/?ip=119.29.29.29
  • 返回:

    {
        "ip": "119.29.29.29",
        "country": "中国",
        "province": "北京",
        "city": "北京",
        "isp": "腾讯云"
    }
  • 示例2:

    https://ip.anye.xyz/?ip=2402:4e00::
  • 返回:

    {
        "ip": "2402:4e00::",
        "country": "中国",
        "isp": "腾讯云"
    }

通过域名获取解析信息

  • 请求:https://ip.anye.xyz/?host=<主机名>&dns=<DNS服务器(可选)>

  • 示例:

    https://ip.anye.xyz/?host=www.dnspod.cn
    
  • 返回:

    {
        "host": "www.dnspod.cn",
        "dns": "8.8.8.8",
        "nodes_count": 11,
        "nodes": [
            {
                "ip": "2408:8756:2cff:e410:5e::2a",
                "country": "中国",
                "isp": "中国联通"
            },
            ...
        ]
    }
    
  • 使用指定 DNS:

    https://ip.anye.xyz/?host=www.dnspod.cn&dns=119.29.29.29
    
  • 返回:

    {
        "host": "www.dnspod.cn",
        "dns": "119.29.29.29",
        "nodes_count": 11,
        "nodes": [
            {
                "ip": "182.40.24.204",
                "country": "中国",
                "province": "山东",
                "city": "青岛",
                "isp": "电信"
            },
            ...
        ]
    }

OCR 验证码识别

该 API 提供了光学字符识别(OCR)、滑块匹配和图像对象检测的端点,由https://github.com/sml2h3/ddddocr-fastapi项目实现。

OCR 接口

  • 请求:POST https://ocr.anye.xyz/ocr

  • 描述:对提供的图像执行 OCR。

  • 参数:

    • file:图像文件(与 image 二选一)

    • image:Base64 编码的图像字符串(与 file 二选一)

    • charsets:字符串,指定字符集(可选)

    参数值

    意义

    0

    纯整数0-9

    1

    纯小写英文a-z

    2

    纯大写英文A-Z

    3

    小写英文a-z + 大写英文A-Z

    4

    小写英文a-z + 整数0-9

    5

    大写英文A-Z + 整数0-9

    6

    小写英文a-z + 大写英文A-Z + 整数0-9

    7

    默认字符库 - 小写英文a-z - 大写英文A-Z - 整数0-9

    其他字符串

    其他字符串

    • png_fix:布尔值,是否应用 PNG 修复(默认:false)

  • 示例(Python):

import requests
import json

img_url = ""
img = requests.get(img_url).content
# img = open('./image/3.png', 'rb').read()
url = "https://ocr.anye.xyz/ocr"
resp = requests.post(url, files={'file': img},data={"charsets":"0123456789+-x/="})
text = json.loads(resp.text)
print(text)
  • 返回:

{
  "code": 200,
  "message": "Success",
  "data": "OCR 结果"
}

滑块匹配接口

  • 请求:POST https://ocr.anye.xyz/slide_match

  • 描述:执行目标图像和背景图像之间的滑块匹配。

  • 参数:

    • target_file:目标图像文件(可选)

    • background_file:背景图像文件(可选)

    • target:Base64 编码的目标图像字符串(可选)

    • background:Base64 编码的背景图像字符串(可选)

    • simple_target:布尔值,是否使用简单目标处理(默认:false)

  • 示例:

POST https://ocr.anye.xyz/slide_match
Content-Type: multipart/form-data

target_file: [二进制数据]
background_file: [二进制数据]
simple_target: true
  • 返回:

{
  "code": 200,
  "message": "Success",
  "data": {
    // 滑块匹配结果
  }
}

对象检测接口

  • 请求:POST https://ocr.anye.xyz/detection

  • 描述:对提供的图像执行对象检测。

  • 参数:

    • file:图像文件(可选)

    • image:Base64 编码的图像字符串(可选)

  • 示例:

POST https://ocr.anye.xyz/detection
Content-Type: multipart/form-data

file: [二进制数据]
  • 返回:

{
  "code": 200,
  "message": "Success",
  "data": {
    // 检测边界框
  }
}

注意:对于所有接口,必须提供文件上传或 Base64 编码的图像字符串。如果两者都缺失或为空,将返回 400 错误。


评论