def timer_sms(self): value = self.get_value() print(value) request = { 'mobile': value['mobile'], 'clientid': value['clientid'], 'uid': value['uid'], 'smstype': value['sms_type'], 'password': value['password'], 'extend': value['extend'], 'content': value['content'], 'sendtime': value['sendtime'] } setting = { 'random_mobile': value['random_mobile'], 'mobile_num': value['mobile_num'], 'json_beautify': value['to_beautify'], 'time_stamp': value['time_stamp'] } kwargs = {'request': request, 'setting': setting} if value['http_type'] == 0: ip = 'http://{}:{}'.format(value['ip'], value['port']) else: ip = 'https://{}:{}'.format(value['ip'], value['port']) self.send_thread = SMSP_HTTP(interface_name=value['interface_name'], ip=ip, **kwargs) self.send_thread.text.connect(self.print_log) self.send_thread.start()
def send_sms(self): value = self.get_value() request = { 'mobile': value['mobile'], 'clientid': value['clientid'], 'uid': value['uid'], 'smstype': value['sms_type'], 'password': value['password'], 'extend': value['extend'], 'content': value['content'] } setting = { 'random_mobile': value['random_mobile'], # 是否需要生成随机手机号 'mobile_num': value['mobile_num'], # 随机生成手机号个数 'operator': value[ 'operator'], # 要生成手机号运营商类型:移动-cmpp、联通-sgip、电信-smgp、国际-smpp,其他则为4种运营商类型随机 'time_stamp': value['time_stamp'], # 短信内容结尾添加时间戳 'time_sleep': value['time_sleep'], # 发送间隔 'send_num': value['send_num'], # 发送次数 'json_beautify': value['to_beautify'] # 请求、响应json格式化打印 } kwargs = {'request': request, 'setting': setting} if value['http_type'] == 0: ip = 'http://{}:{}'.format(value['ip'], value['port']) else: ip = 'https://{}:{}'.format(value['ip'], value['port']) self.send_thread = SMSP_HTTP(interface_name=value['interface_name'], ip=ip, **kwargs) self.send_thread.text.connect(self.print_log) self.send_thread.start()
def mo_balance_report(self): '''查询上行、查询余额、查询状态报告''' value = self.get_value() kwargs = {'clientid': value['clientid'], 'password': value['password']} if value['http_type'] == 0: ip = 'http://{}:{}'.format(value['ip'], value['port']) else: ip = 'https://{}:{}'.format(value['ip'], value['port']) self.send_thread = SMSP_HTTP(interface_name=value['interface_name'], ip=ip, **kwargs) self.send_thread.text.connect(self.print_log) self.send_thread.start()
#!/usr/bin/env python # -*- coding:utf-8 -*- # 都君丨大魔王 from protocol.smsp_http import SMSP_HTTP ip = 'http://172.16.5.132:19527' smsp_http = SMSP_HTTP(ip) request = {"clientid": "b00ii7", "password": "******"} smsp_http.http_json(interface_name='getreport', **request)
#!/usr/bin/env python # -*- coding:utf-8 -*- # 都君丨大魔王 from protocol.smsp_http import SMSP_HTTP ip = 'http://172.16.5.132:19527' request = {"clientid": "b00ii7", "password": "******"} smsp_http = SMSP_HTTP(interface_name='getbalance', ip=ip, **request) smsp_http.http_json(**request)
#!/usr/bin/env python # -*- coding:utf-8 -*- # 都君丨大魔王 from protocol.smsp_http import SMSP_HTTP request = { 'clientid':'b008l5', 'password':'******', 'mobilelist':'', 'smstype':'0', 'content':'【都君网】123', 'sendtime':'2018-08-25 16:04:56', 'extend':'', 'uid':'', 'compress_type':'0' } setting = { 'random_mobile':1, 'mobile_num':10, 'json_beautify':1 } kwargs = { 'request':request, 'setting':setting } smsp_http = SMSP_HTTP(interface_name='timer_send_sms',**kwargs) smsp_http.timer_send_sms()
class Client(QWidget): def __init__(self, *args, **kwargs): # 读取配置文件所有值 self.options = config.get_options() super().__init__(*args, **kwargs) self.all_init() def all_init(self): '''打开客户端时初始化需要的动作''' self.setup_ui(self) self.read_config() self.check_content_length() self.mobile_set() self.chose_templatesms() self.interface_change() def setup_ui(self, frame): '''创建窗口元素''' self.setFixedSize(1000, 600) self.setWindowTitle('SMSP短信发送工具v20180827(姚诚)') self.setWindowIcon(QtGui.QIcon('.\icon\LOGO.png')) self.client_grid = QGridLayout(frame) # 【基本设置】分组框 self.server_GroupBox = QGroupBox('【基本设置】') self.client_grid.addWidget(self.server_GroupBox, 0, 0, 1, 3) self.http_type_Label = QLabel('请求类型:') self.http_type_ComboBox = QComboBox() self.http_type_ComboBox.addItems(['HTTP', 'HTTPS']) self.ip_Label = QLabel('* 请求地址:') self.ip_LineEdit = QLineEdit() self.ip_LineEdit.setPlaceholderText('ip') self.port_Label = QLabel('* 请求端口:') self.port_LineEdit = QLineEdit() self.port_LineEdit.setPlaceholderText('port') self.random_mobile_QLabel = QLabel('号码随机:') self.random_mobile_ComboBox = QComboBox() self.random_mobile_ComboBox.addItems(['不随机', '随机']) self.random_mobile_ComboBox.currentTextChanged.connect(self.mobile_set) self.mobile_num_QLabel = QLabel('号码个数:') self.mobile_num_SpinBox = QSpinBox() self.mobile_num_SpinBox.setRange(1, 1000000) self.operator_QLabel = QLabel('运营商:') self.operator_ComboBox = QComboBox() self.operator_ComboBox.addItems([ '移动-CMPP', '联通-SGIP', '电信-SMGP', '国际-SMPP', '国内-INLAND', '全部-ALL' ]) self.time_stamp_QLabel = QLabel('时间戳:') self.time_stamp_ComboBox = QComboBox() self.time_stamp_ComboBox.addItems(['不需要', '需要']) self.time_stamp_ComboBox.currentIndexChanged.connect( self.check_content_length) self.send_interval_QLabel = QLabel('发送间隔:') self.send_interval_SpinBox = QSpinBox() self.send_interval_SpinBox.setRange(0, 300) self.send_interval_SpinBox.setSingleStep(1) self.send_num_QLabel = QLabel('发送次数:') self.send_num_SpinBox = QSpinBox() self.send_num_SpinBox.setRange(1, 1000) self.send_num_SpinBox.setSingleStep(1) self.to_beautify_QLabel = QLabel('日志美化:') self.to_beautify_ComboBox = QComboBox() self.to_beautify_ComboBox.addItems(['不美化', '美化']) # 【请求参数】分组框 self.parameter_GroupBox = QGroupBox('【请求参数】') self.client_grid.addWidget(self.parameter_GroupBox, 1, 0, 1, 3) self.interface_name_Label = QLabel('* 接口名称:') self.interface_name_ComboBox = QComboBox() self.interface_name_ComboBox.addItems( ['下行短信', '查询余额', '拉取上行', '拉取状态报告', '定时短信', '模板短信']) self.interface_name_ComboBox.currentIndexChanged.connect( self.interface_change) self.interface_name_ComboBox.currentIndexChanged.connect( self.chose_templatesms) self.sms_type_Label = QLabel('* 短信类型:') self.sms_type_ComboBox = QComboBox() self.sms_type_ComboBox.addItems( ['0-通知', '4-验证码', '5-营销', '6-告警', '7-USSD', '8-闪信']) self.client_id_Label = QLabel('* 发送账号:') self.client_id_LineEdit = QLineEdit() self.password_Label = QLabel('* 密码:') self.password_LineEdit = QLineEdit() self.password_LineEdit.setToolTip('明文密码自动加密!') self.mobile_Label = QLabel('* 手机号码:') self.mobile_LineEdit = QLineEdit() self.mobile_LineEdit.setPlaceholderText('多个手机号码使用英文逗号分隔') self.uid_Label = QLabel('UID:') self.uid_LineEdit = QLineEdit() self.extend_Label = QLabel('扩展端口:') self.extend_LineEdit = QLineEdit() self.content_Label = QLabel('* 短信内容:') self.content_TextEdit = QTextEdit() self.content_TextEdit.setPlaceholderText('正确短信内容由(签名+内容)组成') self.content_TextEdit.setToolTip('正确短信内容由(签名+内容)组成!') self.content_length_Label = QLabel() self.content_TextEdit.textChanged.connect(self.check_content_length) self.sendtime_Label = QLabel('* 发送时间:') self.sendtime_DateTimeEdit = QDateTimeEdit( QtCore.QDateTime.currentDateTime()) # 获取当前时间 self.sendtime_DateTimeEdit.setDisplayFormat( 'yyyy-MM-dd hh:mm:ss') # 时间格式化 # 【保存】按钮 self.save_PushButton = QPushButton('保存(Ctrl+S)') self.client_grid.addWidget(self.save_PushButton, 2, 0, 1, 1) self.save_PushButton.setShortcut('Ctrl+S') self.save_PushButton.clicked.connect(self.save_config) # 【发送】按钮 self.send_PushButton = QPushButton('发送(F10)') self.client_grid.addWidget(self.send_PushButton, 2, 1, 1, 1) self.send_PushButton.setShortcut('F10') self.send_PushButton.clicked.connect(self.chose_interface) # 【清除】按钮 self.clear_PushButton = QPushButton('清除(Ctrl+L)') self.client_grid.addWidget(self.clear_PushButton, 2, 2, 1, 1) self.clear_PushButton.setShortcut('Ctrl+L') self.clear_PushButton.clicked.connect(self.clear_log) # 【日志打印】消息打印窗口 self.log_GroupBox = QGroupBox('【日志打印】') self.client_grid.addWidget(self.log_GroupBox, 0, 3, 3, 4) self.log_TextBrowser = QTextBrowser() '''对窗口元素进行布局''' # 【基本设置】分组框进行布局 self.server_grid = QGridLayout(self.server_GroupBox) self.server_grid.addWidget(self.random_mobile_QLabel, 0, 0) self.random_mobile_QLabel.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.random_mobile_ComboBox, 0, 1) self.server_grid.addWidget(self.mobile_num_QLabel, 0, 2) self.mobile_num_QLabel.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.mobile_num_SpinBox, 0, 3) self.server_grid.addWidget(self.operator_QLabel, 1, 0) # 手机号运营商 self.operator_QLabel.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.operator_ComboBox, 1, 1) self.server_grid.addWidget(self.time_stamp_QLabel, 1, 2) # 时间戳 self.time_stamp_QLabel.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.time_stamp_ComboBox, 1, 3) self.server_grid.addWidget(self.send_interval_QLabel, 2, 0) # 发送间隔 self.send_interval_QLabel.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.send_interval_SpinBox, 2, 1) self.server_grid.addWidget(self.send_num_QLabel, 2, 2) # 发送次数 self.send_num_QLabel.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.send_num_SpinBox, 2, 3) self.server_grid.addWidget(self.to_beautify_QLabel, 3, 0) # 请求&响应格式化 self.to_beautify_QLabel.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.to_beautify_ComboBox, 3, 1) self.server_grid.addWidget(self.http_type_Label, 3, 2) self.http_type_Label.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.server_grid.addWidget(self.http_type_ComboBox, 3, 3) self.server_grid.addWidget(self.ip_Label, 4, 0) self.server_grid.addWidget(self.ip_LineEdit, 4, 1) self.server_grid.addWidget(self.port_Label, 4, 2) self.server_grid.addWidget(self.port_LineEdit, 4, 3) # 【请求参数】分组框进行布局 self.parameter_grid = QGridLayout(self.parameter_GroupBox) self.parameter_grid.addWidget(self.interface_name_Label, 0, 0) self.parameter_grid.addWidget(self.interface_name_ComboBox, 0, 1) self.parameter_grid.addWidget(self.sms_type_Label, 0, 2) self.parameter_grid.addWidget(self.sms_type_ComboBox, 0, 3) self.parameter_grid.addWidget(self.client_id_Label, 1, 0) self.parameter_grid.addWidget(self.client_id_LineEdit, 1, 1) self.parameter_grid.addWidget(self.password_Label, 1, 2) self.password_Label.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.parameter_grid.addWidget(self.password_LineEdit, 1, 3) self.parameter_grid.addWidget(self.mobile_Label, 2, 0) self.parameter_grid.addWidget(self.mobile_LineEdit, 2, 1, 1, 3) self.parameter_grid.addWidget(self.uid_Label, 3, 0) self.uid_Label.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.parameter_grid.addWidget(self.uid_LineEdit, 3, 1) self.parameter_grid.addWidget(self.extend_Label, 3, 2) self.extend_Label.setAlignment(QtCore.Qt.AlignCenter | QtCore.Qt.AlignRight) self.parameter_grid.addWidget(self.extend_LineEdit, 3, 3) self.parameter_grid.addWidget(self.content_Label, 5, 0) self.parameter_grid.addWidget(self.content_TextEdit, 5, 1, 7, 3) self.parameter_grid.addWidget(self.content_length_Label, 12, 1, 1, 3) self.parameter_grid.addWidget(self.sendtime_Label, 13, 0, 1, 3) self.parameter_grid.addWidget(self.sendtime_DateTimeEdit, 13, 1, 1, 1) # 【日志打印】 self.log_grid = QGridLayout(self.log_GroupBox) self.log_grid.addWidget(self.log_TextBrowser) def check_content_length(self): '''根据时间戳和短信内容,检查实际短信内容长度''' value = self.get_value() time_stamp_length = 19 if value['time_stamp']: content_length = len(value['content']) + time_stamp_length self.content_length_Label.setText( '「有时间戳」短信内容长度为{}。'.format(content_length)) else: content_length = len(value['content']) self.content_length_Label.setText( '「无时间戳」短信内容长度为{}。'.format(content_length)) self.content_length_Label.setStyleSheet("color:blue") # 设置字体颜色 def read_config(self): '''打开客户端时读取配置文件信息''' # 读取“基本设置”信息 self.random_mobile_ComboBox.setCurrentIndex( int(self.options['random_mobile'])) self.mobile_num_SpinBox.setValue(int(self.options['mobile_num'])) self.operator_ComboBox.setCurrentIndex(self.options['operator']) self.time_stamp_ComboBox.setCurrentIndex( int(self.options['time_stamp'])) self.send_interval_SpinBox.setValue(int(self.options['time_sleep'])) self.send_num_SpinBox.setValue(int(self.options['send_num'])) self.to_beautify_ComboBox.setCurrentIndex( int(self.options['to_beautify'])) self.ip_LineEdit.setText(self.options['ip']) self.port_LineEdit.setText(self.options['port']) self.http_type_ComboBox.setCurrentIndex(int(self.options['http_type'])) # 读取“请求参数”信息 self.sms_type_ComboBox.setCurrentIndex(self.options['sms_type']) self.client_id_LineEdit.setText(self.options['clientid']) self.password_LineEdit.setText(self.options['password']) self.mobile_LineEdit.setText(self.options['mobile']) self.uid_LineEdit.setText(self.options['uid']) self.extend_LineEdit.setText(self.options['extend']) self.content_TextEdit.setText(self.options['content']) def save_config(self): '''保存客户端信息到配置文件''' value = self.get_value() self.save_thread = Save_Thread(value) self.save_thread.start() def get_value(self): '''获取客户端所有字段值''' value = {} # 获取“请求地址” value['http_type'] = self.http_type_ComboBox.currentIndex() value['ip'] = self.ip_LineEdit.text() value['port'] = self.port_LineEdit.text() # 获取“发送设置” value['random_mobile'] = self.random_mobile_ComboBox.currentIndex() value['mobile_num'] = int(self.mobile_num_SpinBox.text()) value['operator'] = self.operator_ComboBox.currentText() value['time_stamp'] = self.time_stamp_ComboBox.currentIndex() value['time_sleep'] = int(self.send_interval_SpinBox.text()) value['send_num'] = int(self.send_num_SpinBox.text()) value['to_beautify'] = int(self.to_beautify_ComboBox.currentIndex()) # 获取请求接口名称 interface_index = self.interface_name_ComboBox.currentIndex() if interface_index == 0: interface_name = 'sendsms' elif interface_index == 1: interface_name = 'getbalance' elif interface_index == 2: interface_name = 'getmo' elif interface_index == 3: interface_name = 'getreport' elif interface_index == 4: interface_name = 'timer_send_sms' else: interface_name = 'templatesms' value['interface_name'] = interface_name # 获取“请求参数” if interface_index == 5: value['templateid'] = self.sms_type_ComboBox.text() else: value['sms_type'] = self.sms_type_ComboBox.currentText() value['sms_type'] = value['sms_type'][0] value['clientid'] = self.client_id_LineEdit.text() value['password'] = self.password_LineEdit.text() value['mobile'] = self.mobile_LineEdit.text() value['uid'] = self.uid_LineEdit.text() value['extend'] = self.extend_LineEdit.text() value['content'] = self.content_TextEdit.toPlainText() value['sendtime'] = self.sendtime_DateTimeEdit.text() return value def mobile_set(self): '''根据是否“随机号码”来设定“运营商”、“手机号码”是否可以编辑''' random_mobile = self.random_mobile_ComboBox.currentIndex() if random_mobile == 0: self.operator_ComboBox.setDisabled(True) self.mobile_LineEdit.setDisabled(False) self.mobile_num_SpinBox.setDisabled(True) else: self.operator_ComboBox.setDisabled(False) self.mobile_LineEdit.setDisabled(True) self.mobile_num_SpinBox.setDisabled(False) def clear_log(self): '''清除日志区域信息''' self.log_TextBrowser.clear() def print_log(self, text): '''日志区域打印''' self.log_TextBrowser.append(text) def interface_change(self): '''根据“接口名称”值的改变,调整客户端可编辑内容''' interface_index = self.interface_name_ComboBox.currentIndex() if interface_index == 0: self.random_mobile_ComboBox.setDisabled(False) self.mobile_num_SpinBox.setDisabled(False) self.operator_ComboBox.setDisabled(False) self.time_stamp_ComboBox.setDisabled(False) self.send_interval_SpinBox.setDisabled(False) self.send_num_SpinBox.setDisabled(False) self.to_beautify_ComboBox.setDisabled(False) self.sms_type_ComboBox.setDisabled(False) self.mobile_set() self.uid_LineEdit.setDisabled(False) self.extend_LineEdit.setDisabled(False) self.content_TextEdit.setDisabled(False) self.sendtime_DateTimeEdit.setDisabled(True) elif interface_index in (1, 2, 3): self.random_mobile_ComboBox.setDisabled(True) self.mobile_num_SpinBox.setDisabled(True) self.operator_ComboBox.setDisabled(True) self.time_stamp_ComboBox.setDisabled(True) self.send_interval_SpinBox.setDisabled(True) self.send_num_SpinBox.setDisabled(True) self.to_beautify_ComboBox.setDisabled(True) self.sms_type_ComboBox.setDisabled(True) self.mobile_LineEdit.setDisabled(True) self.uid_LineEdit.setDisabled(True) self.extend_LineEdit.setDisabled(True) self.content_TextEdit.setDisabled(True) self.sendtime_DateTimeEdit.setDisabled(True) elif interface_index == 4: self.random_mobile_ComboBox.setDisabled(False) self.mobile_num_SpinBox.setDisabled(False) self.operator_ComboBox.setDisabled(True) self.time_stamp_ComboBox.setDisabled(False) self.send_interval_SpinBox.setDisabled(True) self.send_num_SpinBox.setDisabled(True) self.to_beautify_ComboBox.setDisabled(True) self.sms_type_ComboBox.setDisabled(False) self.mobile_LineEdit.setDisabled(True) self.uid_LineEdit.setDisabled(False) self.extend_LineEdit.setDisabled(False) self.content_TextEdit.setDisabled(False) self.sendtime_DateTimeEdit.setDisabled(False) else: self.random_mobile_ComboBox.setDisabled(False) self.mobile_num_SpinBox.setDisabled(False) self.operator_ComboBox.setDisabled(False) self.time_stamp_ComboBox.setDisabled(True) self.send_interval_SpinBox.setDisabled(False) self.send_num_SpinBox.setDisabled(False) self.to_beautify_ComboBox.setDisabled(False) self.sms_type_ComboBox.setDisabled(False) self.mobile_set() self.uid_LineEdit.setDisabled(False) self.extend_LineEdit.setDisabled(False) self.content_TextEdit.setDisabled(False) self.sendtime_DateTimeEdit.setDisabled(True) def chose_templatesms(self): '''当选择“模板短信”接口时,客户端元素需要产生变化''' interface_index = self.interface_name_ComboBox.currentIndex() if interface_index == 5: self.sms_type_Label.setText('* 模板ID:') self.sms_type_ComboBox = QLineEdit() self.parameter_grid.addWidget(self.sms_type_ComboBox, 0, 3) self.content_Label.setText('* 模板参数:') self.content_TextEdit.setPlaceholderText( '1)多个参数值以英文分号分隔;\n2)参数值顺序与模板中变量顺序相对应;\n3)参数值个数必须与模板中变量个数一致;\n4)格式为“参数值;参数值;参数值”的方式;' ) self.content_TextEdit.setToolTip( '1)多个参数值以英文分号分隔;\n2)参数值顺序与模板中变量顺序相对应;\n3)参数值个数必须与模板中变量个数一致;\n4)格式为“参数值;参数值;参数值”的方式;' ) else: self.sms_type_Label.setText('* 短信类型:') self.sms_type_ComboBox = QComboBox() self.sms_type_ComboBox.addItems( ['0-通知', '4-验证码', '5-营销', '6-告警', '7-USSD', '8-闪信']) self.parameter_grid.addWidget(self.sms_type_ComboBox, 0, 3) if interface_index in (1, 2, 3): self.sms_type_ComboBox.setDisabled(True) self.content_Label.setText('* 短信内容:') self.content_TextEdit.setPlaceholderText('正确短信内容由(签名+内容)组成') self.content_TextEdit.setToolTip('正确短信内容由(签名+内容)组成!') def chose_interface(self): '''根据选择的“接口名称”调用不同的接口发送短信''' value = self.get_value() interface_name = value['interface_name'] if interface_name == 'sendsms': self.send_sms() elif interface_name == 'timer_send_sms': self.timer_sms() elif interface_name == 'templatesms': self.template_sms() else: self.mo_balance_report() def template_sms(self): value = self.get_value() request = { 'mobile': value['mobile'], 'clientid': value['clientid'], 'uid': value['uid'], 'templateid': value['templateid'], 'password': value['password'], 'extend': value['extend'], 'content': value['content'] } setting = { 'random_mobile': value['random_mobile'], # 是否需要生成随机手机号 'mobile_num': value['mobile_num'], # 随机生成手机号个数 'operator': value[ 'operator'], # 要生成手机号运营商类型:移动-cmpp、联通-sgip、电信-smgp、国际-smpp,其他则为4种运营商类型随机 'time_sleep': value['time_sleep'], # 发送间隔 'send_num': value['send_num'], # 发送次数 'json_beautify': value['to_beautify'] # 请求、响应json格式化打印 } kwargs = {'request': request, 'setting': setting} if value['http_type'] == 0: ip = 'http://{}:{}'.format(value['ip'], value['port']) else: ip = 'https://{}:{}'.format(value['ip'], value['port']) self.send_thread = SMSP_HTTP(interface_name=value['interface_name'], ip=ip, **kwargs) self.send_thread.text.connect(self.print_log) self.send_thread.start() def mo_balance_report(self): '''查询上行、查询余额、查询状态报告''' value = self.get_value() kwargs = {'clientid': value['clientid'], 'password': value['password']} if value['http_type'] == 0: ip = 'http://{}:{}'.format(value['ip'], value['port']) else: ip = 'https://{}:{}'.format(value['ip'], value['port']) self.send_thread = SMSP_HTTP(interface_name=value['interface_name'], ip=ip, **kwargs) self.send_thread.text.connect(self.print_log) self.send_thread.start() def timer_sms(self): value = self.get_value() print(value) request = { 'mobile': value['mobile'], 'clientid': value['clientid'], 'uid': value['uid'], 'smstype': value['sms_type'], 'password': value['password'], 'extend': value['extend'], 'content': value['content'], 'sendtime': value['sendtime'] } setting = { 'random_mobile': value['random_mobile'], 'mobile_num': value['mobile_num'], 'json_beautify': value['to_beautify'], 'time_stamp': value['time_stamp'] } kwargs = {'request': request, 'setting': setting} if value['http_type'] == 0: ip = 'http://{}:{}'.format(value['ip'], value['port']) else: ip = 'https://{}:{}'.format(value['ip'], value['port']) self.send_thread = SMSP_HTTP(interface_name=value['interface_name'], ip=ip, **kwargs) self.send_thread.text.connect(self.print_log) self.send_thread.start() def send_sms(self): value = self.get_value() request = { 'mobile': value['mobile'], 'clientid': value['clientid'], 'uid': value['uid'], 'smstype': value['sms_type'], 'password': value['password'], 'extend': value['extend'], 'content': value['content'] } setting = { 'random_mobile': value['random_mobile'], # 是否需要生成随机手机号 'mobile_num': value['mobile_num'], # 随机生成手机号个数 'operator': value[ 'operator'], # 要生成手机号运营商类型:移动-cmpp、联通-sgip、电信-smgp、国际-smpp,其他则为4种运营商类型随机 'time_stamp': value['time_stamp'], # 短信内容结尾添加时间戳 'time_sleep': value['time_sleep'], # 发送间隔 'send_num': value['send_num'], # 发送次数 'json_beautify': value['to_beautify'] # 请求、响应json格式化打印 } kwargs = {'request': request, 'setting': setting} if value['http_type'] == 0: ip = 'http://{}:{}'.format(value['ip'], value['port']) else: ip = 'https://{}:{}'.format(value['ip'], value['port']) self.send_thread = SMSP_HTTP(interface_name=value['interface_name'], ip=ip, **kwargs) self.send_thread.text.connect(self.print_log) self.send_thread.start()
#!/usr/bin/env python # -*- coding:utf-8 -*- # 都君丨大魔王 from protocol.smsp_http import SMSP_HTTP ip = 'http://172.16.5.132:19527' smsp_http = SMSP_HTTP(ip) request = { "serial_num": "", "component_type": "", "component_md5": "", "timestamp": "", "pub_key": "" } smsp_http.http_json(interface_name='authentication', **request)
#!/usr/bin/env python # -*- coding:utf-8 -*- # 都君丨大魔王 from protocol.smsp_http import SMSP_HTTP interface_name = 'templatesms' smsp_http = SMSP_HTTP(interface_name=interface_name) request = { 'clientid':'b00ii7', 'password':'******', 'mobile':'13900003214', 'templateid':'', 'param':'', 'sendtime':'', 'extend':'', 'uid':'' }
#!/usr/bin/env python # -*- coding:utf-8 -*- # 都君丨大魔王 from protocol.smsp_http import SMSP_HTTP request = { 'mobile': '13912340001', 'clientid': 'b00kx2', 'uid': '11', 'smstype': '0', # 0:通知短信,4:验证码短信,5:营销短信,6:告警短信,7:USSD,8:闪信 'password': '******', 'extend': '11', 'content': '【都君网】' } setting = { 'random_mobile': 0, # 是否需要生成随机手机号 'mobile_num': 0, # 随机生成手机号个数 'operator': "all", # 要生成手机号运营商类型:移动-cmpp、联通-sgip、电信-smgp、国际-smpp,其他则为4种运营商类型随机 'time_stamp': 1, # 短信内容结尾添加时间戳 'time_sleep': 1, # 发送间隔 'send_num': 1, # 发送次数 'json_beautify': 1 # 请求、响应json格式化打印 } kwargs = {'request': request, 'setting': setting} smsp_http = SMSP_HTTP(**kwargs) smsp_http.best_send()