一、qqsdk python库

QQ社工库中的qqsdk python库可以帮助开发者调用API获取QQ用户信息,登录态和原始信息并进行相应的处理。

    import qqsdk

    qqsdk.tservice.qqLogin('qq号', '密码')
    qqsdk.tservice.tcaptcha('key', 'session_id')
    qqsdk.tservice.getQzoneFriends()

通过这些函数可以方便地获取QQ好友、QQ空间好友、QQ群好友等信息,再根据需要进行进一步的数据处理。

二、qqwry IP库

qqwry IP库是一个可以快速定位IP地址的开源工具,QQ社工库中也集成了该库,方便用户进行IP地址相关的操作。

    from qqwry import QQwry

    q = QQwry()
    q.load_file('path to qqwry.dat')
    print(q['118.28.8.8'])

代码中加载了qqwry.dat文件,然后调用对象的__getitem__函数即可得到该IP地址对应的地理位置信息。

三、基本使用方法

首先需要准备一些基本参数:

    import requests

    url = 'https://ssl.ptlogin2.qq.com/check'
    headers = {
        'Referer': 'https://xui.ptlogin2.qq.com/cgi-bin/xlogin',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
                        Chrome/58.0.3029.110 Safari/537.36'
    }

然后发送请求:

    def check(uin, appid, verifycode, pt_verifysession_v1):
        params = {
            'regmaster': '',
            'pt_tea': '1',
            'pt_vcode': '1',
            'uin': uin,
            'appid': appid,
            'js_ver': '10141',
            'js_type': '1',
            'login_sig': '',
            'u1': 'https://qzs.qq.com/qzone/v5/loginsucc.html?para=izone',
            'r': '0.27604282715541316',
            'pt_verifysession_v1': pt_verifysession_v1,
            'pt_randsalt': '2',
            'pt_jstoken': '1718087344',
            'pt_uistyle': '40'
        }
        resp = requests.get(url, headers=headers, params=params)
        return resp.text.split("'")

    uin = '123456'
    appid = '123456'
    verifycode = '1234'
    pt_verifysession_v1 = 'abcdefgh'
    check_result = check(uin, appid, verifycode, pt_verifysession_v1)
    print(check_result)

通过以上步骤可以得到一串加密串,根据加密串再去请求相应的验证地址并最终得到登录态。

四、自定义开发

QQ社工库提供了API,需要先进行申请并获得相应的Token。

然后把获得的Token加入请求的headers中,如下所示:

    headers = {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + token,
    }

可以使用requests等Python HTTP库进行API调用。

最终可以得到如下结果:

    import requests

    url = 'https://api.qqsocang.com/user?qq=10086'
    headers = {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer your_token_here',
    }
    response = requests.get(url, headers=headers)
    print(response.json())

以上即是自定义开发的基本操作,可以根据需求扩展API的使用。