欢迎使用我的API服务
  • 2020-07-16


前言

前天根据depyseve,把我的api重构了一遍,这样也就有后台了。想使用的人可以去https://api.sgk.pub 去看看使用说明。

下面就给几个例子,讲讲怎么用这些API。


Demo编写

这里以资产收集这个高级接口为例,编写以下使用demo。

我就选一个最不擅长的语言python来做。

import requests
import json
import sys

def is_json(myjson):
    try:
        json.loads(myjson)
    except ValueError:
        return False
    return True

token=""  #写您的token
query_type=input('请输入查询类型(app或者host):')
query=input('请输入查询内容:')
url="https://api.sgk.pub/index/api/propery?query="+query+"&limit=1000&type="+query_type+"&token="+token+"&page=1"
r = requests.get(url,headers={"Content-Type":"application/json"})
print("数据获取成功!正在处理数据!")
if(is_json(r.text)):   
    d = json.loads(r.text)
    total=d["total"]
    print("一共获取资产数:"+str(total)+"条")
    if(total == 0):
        sys.exit(0)
    else:
        if(total>10000):
            limit=input('请输入要获取的资产条数(区间1-10000):')       
        else:
            limit=input('请输入要获取的资产条数(区间1-'+str(total)+'):')
        if(int(limit)>10000):
            sys.exit(0)
        else:
            url="https://api.sgk.pub/index/api/propery?query="+query+"&limit="+limit+"&type="+query_type+"&token="+token+"&page=1"
            r = requests.get(url,headers={"Content-Type":"application/json"})
            d = json.loads(r.text)
            ts = d["data"]
            count=0
            for t in ts:
                if(count % 100 ==0):
                    print("已经完成:"+str(count/len(ts)*100)+"%")
                with open(query+".txt","a+",encoding="utf-8") as f:
                    f.write(str(t["title"]+"  "+t["host"])+"\n")
                count=count+1
            print("已经全部完成!Output in "+query+".txt!")   
else:
    print(r.text)


写的非常粗糙,但是使用起来还是不错的。

5f10044ce19c8.png

5f100477423de.png


其他的api可以仿造我上面的demo来编写,当然了,还有很多有用的接口没有放上去。不过还没有重构完,并且涉及到多线程之类的技术,再等一会吧。

到时候想做个api集成,目前统计功能、接口限制、接口资料后台对接都做完了。但感觉还不够健壮,移植性太差,就慢慢做吧。实在不行这个框架到时候开源也是一件不错的事。


关于token

设置token的目的是防止一些涉及高级查询,服务器资源消耗大的接口被滥用,我也不想拿着个来做商业交换,毕竟一直想着赚钱生活就没意思了。

当然,如果是想学习研究的,我当然很乐意提供给你使用。