python 代码

使用python requests 库 代码仅供参考 请按照您的实际情况书写代码

python 代码



  

import time  

 

import datetime 

import requests 

import json 

  

from requests.adapters import HTTPAdapter

session = requests.Session()



address = 'http://aa.fatiegongju.com' 





session.mount('http://', HTTPAdapter(max_retries=100))

session.mount('https://', HTTPAdapter(max_retries=10))



def getResult(ticketid): 

    r = session.get(f'{address}/api/result?sid=' + str( ticketid )+'',verify=False,timeout=126)

    #print("提交后结果",r)

    put_result = r.content

    #print("提交后结果",put_result)

    return put_result

    

def postQuest( data): 

    r = session.post(f'{address}/api/upload' ,data=data,verify=False,timeout=126)

    #print("提交后结果",r)

    put_result = r.content

    #print("提交后结果",put_result)

    return put_result

    

    

import base64    

def readpic(filepath):

    with open(filepath,'rb', encoding='utf-8') as file:

        content = file.read() 

        return base64.b64encode(content)

    return False;

    

def upload():    

    pic = readpic("D:\\123123\\abc.png")

    if not pic:

        print("读取失败")

        return

    data = {

        "dati_type": "8091",        #答题类型

        "acc_str": 'xxxxxxxxxxxx',  #登录账号查询自己的答题密码串

        "extra_str": 'xxxxxxxxxxxx',  #备注 以便答题人员能够理解答题

        "zz": 'xxxxxxxxxxxx',  #作者帐号(给予返利)

        "pri": '9',  #优先级

        "timeout": '70',  #优先级 

        "pic": pic,  #可以使用base64 编码图片数据  

    } 

    up_result = postQuest(data)

    if up_result[:1] =="#" :

        print("出错",up_result)

        return 

    sid =  up_result

    while True:

        time.sleep(10)

        quest_result = getResult(sid)    

        if len(quest_result) ==0 :

            continue

        if quest_result[:1] =="#" :

            print("出错",quest_result)

            return 

        print("答题结果",quest_result)    

        return quest_result

upload()    



说明:xxxxxxxxxxxxxxx替换成密码串 提交成功后会返回一组字符串 直接用这个字符串每1秒循环get提交到http://aa.fatiegongju.com/api/result 即可 一直取到答案为止 取到答案判断 一下答案的第一个字符串 如果为“#” 即为报错了 如果不是#开头 即为返回的答案