【工具】Python从临时邮箱获取验证码
安装好依赖库之后代码可直接运行, captcha = re.search(r'您的验证码为: \*(\w+)\*', response.json()['body']['html'])
正则表达式部分改成自己的。
import random
import requests
import re
from faker import Fakerdomain = "https://api.mail.cx/api/v1" # 临时邮箱api
def generate_name():fake = Faker('en_US')while True:name = fake.name().replace(' ', '_')if len(name) <= 10:print(f"用户名: {name}")return namedef getAuth():url = domain + "/auth/authorize_token"headers = {'accept': 'application/json','Authorization': 'Bearer undefined',}response = requests.post(url, headers=headers)return str(response.json())def getMailAddress():root_mail = ["nqmo.com", "end.tw", "uuf.me", "yzm.de"]return generate_name() + '@' + random.choice(root_mail)def getMailId(address, auth):url = domain + f"/mailbox/{address}"headers = {'accept': 'application/json','Authorization': f'Bearer {auth}',}response = requests.get(url, headers=headers)body = response.json()return body[0]['id'] if len(body) and len(body[0]['id']) > 0 else Nonedef getCaptcha():# 获取tokenauth = getAuth()print(f"token: {auth}")# 获取邮箱地址address = getMailAddress()print(f"邮箱地址: {address}")# 等待获取验证码邮件id_ = Nonewhile id_ is None:id_ = getMailId(address, auth)# 获取验证码url = domain + f'/mailbox/{address}/{id_}'headers = {'accept': 'application/json','Authorization': f'Bearer {auth}',}response = requests.get(url, headers=headers)# 正则匹配验证码,此处正则表达式匹配验证码改成自己的captcha = re.search(r'您的验证码为: \*(\w+)\*', response.json()['body']['html'])if captcha:print("验证码:", captcha.group(1))else:print("找不到验证码")return captcha.group(1)if __name__ == '__main__':getCaptcha()