python 代码

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

python 代码


  
import time  
 
import datetime 
import requests 
import json 
  
from requests.adapters import HTTPAdapter
session = requests.Session()

address = 'http://dt1.hyocr.com:8080/' 


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

def getResult(ticketid): 
    r = session.get(f'{address}/Query.php?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}/uploadpic.php' ,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://dt1.hyocr.com:8080/Query.php 即可 一直取到答案为止 取到答案判断 一下答案的第一个字符串 如果为“#” 即为报错了 如果不是#开头 即为返回的答案