模拟开户接口,使用python脚本实现批量用户开通
1、目的
通过模拟接口方法,实现批量用户开通
2、分析
A、接口含body和head部分,其中body中的某些变量为必填字段,包含用户的信息。
B、用户信息清单可以整理成ott_after_check_device文件。
C、将ott_after_check_device文件转换成列表数据类型,将其用户信息对应替换到body.xml文件中。
3、脚本实现
#!/usr/bin/env python
# -*- coding: utf-8 -*- import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder def get_txt_after_check_device():
ott_after_check_device = '.\\ott_after_check_device.txt'
f = open(ott_after_check_device)
lines = f.readlines()
all_list_device = []
for line in lines:
line = line.replace("\n", '')
list_device = line.split(',')
all_list_device.append(list_device)
return all_list_device def ott_boss(list_device):
sleep_time = 0.001
# print len(list_device)
for i in range(len(list_device)):
print u'新开户数 :', i + 1
time.sleep(sleep_time)
acc_num = list_device[i][0]
stb_id = list_device[i][1]
print 'STBID : ', stb_id
account = list_device[i][2]
url = 'http://10.2.214.133:6600/oss/rest/mango/bossManagement/syncOrder'
mul = MultipartEncoder(
fields={
'xmlhead': '<?xml version="1.0" encoding="UTF-8"?> <InterBOSS>'
'<Version>0100</Version>'
'<TestFlag>0</TestFlag>'
'<BIPType>'
'<BIPCode>IPTVB412</BIPCode>'
'<ActivityCode>T2101057</ActivityCode>'
'<ActionCode>0</ActionCode>'
'</BIPType>'
'<RoutingInfo>'
'<OrigDomain>BOSS</OrigDomain>'
'<RouteType>00</RouteType>'
'<Routing>'
'<HomeDomain>OTT</HomeDomain>'
'<RouteValue>210</RouteValue>'
'</Routing>'
'</RoutingInfo>'
'<TransInfo>'
'<SessionID>2018092517323481311686</SessionID>'
'<TransIDO>2018092517323416388122</TransIDO>'
'<TransIDOTime>20180211173234</TransIDOTime>'
'</TransInfo> </InterBOSS>',
'xmlbody': '<?xml version="1.0" encoding="UTF-8"?> <InterBOSS> <SvcCont><![CDATA[<?xml '
'version="1.0" encoding="UTF-8"?> <OrdSynReq>'
'<PkgSeq>73120180111000007</PkgSeq>'
'<RecNum>1</RecNum>'
'<UD1>'
'<IDType>01</IDType>'
'<IDV>%s</IDV>'
'<Brand>09</Brand>'
'<Opr>06</Opr>'
'<OprT>20180925171922</OprT>'
'<BizType>52</BizType>'
'<Seq>8121</Seq>'
'<BroadbandID>738815023717</BroadbandID>'
'<ZipCode></ZipCode>'
'<Address></Address>'
'<UserName></UserName>'
'<UserSex></UserSex>'
'<IDCardType></IDCardType>'
'<IDCardNum></IDCardNum>'
'<AreaCode>K381</AreaCode>'
'<GroupID></GroupID>'
'<POCont>'
'<ActType>1</ActType>'
'<StbID>%s</StbID>'
'<Account>%s</Account>'
'<Password>111111</Password>'
'<ChrgType>2</ChrgType>'
'<EffetiTime>20180925171922</EffetiTime>'
'<Channel>08</Channel>'
'<SPID>mango</SPID>'
'<BizCode>defaultBasicProduct</BizCode>'
'<BizKind>01</BizKind>'
'</POCont>'
'</UD1> </OrdSynReq> '
']]></SvcCont> </InterBOSS>' % (acc_num, stb_id, account)
}
)
header = {'Content-Type': mul.content_type}
body = mul
response = requests.post(url, data=body, headers=header)
print response.content
print response.status_code if __name__ == '__main__':
ott_boss(get_txt_after_check_device())
模拟开户接口,使用python脚本实现批量用户开通的更多相关文章
- 模拟开户接口,使用shell脚本实现批量用户开通
1.目的 通过模拟接口方法,实现批量用户开通 2.分析 A.接口含body和head部分,其中body中的某些变量为必填字段,包含用户的信息,接口可整理成body.xml.head.xml文件. B. ...
- shell脚本和python脚本实现批量ping IP测试
先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.130.2 192.168.130.3 ...
- Shell学习笔记之shell脚本和python脚本实现批量ping IP测试
0x00 将IP列表放到txt文件内 先建一个存放ip列表的txt文件: [root@yysslopenvpn01 ~]# cat hostip.txt 192.168.130.1 192.168.1 ...
- zabbix3.4用Python脚本Excel批量导入主机
1.安装xlrd读取Excel文件 1.1. 下载setuptools-38.2.4.zip,上传至zabbix服务器解压安装,下载地址:https://pypi.python.org/package ...
- RobotFramework 模拟http接口登录自动化脚本
RobotFramework 模拟自动化登录脚本思路: 先获取页面cookie值,然后根据cookie值加上请求体提交登录: 一.获取cookie: 以下脚本获取cookie值,并把改脚本封装为关键字 ...
- Python脚本:批量将.doc文件转化为.docx文件
将.doc转换为.docx文件有几种常用的方法: Microsoft Word 和 WPS 自带.doc转换.docx功能,但只能一个文件一个文件转换,批量转换要会员 在线网页 Office-Conv ...
- python脚本-excel批量转换为csv文件
pandas和SQL数据分析实战视频教程 https://study.163.com/course/courseMain.htm?courseId=1006383008&share=2& ...
- 使用Python脚本批量裁切栅格
对栅格的裁切,我们通常使用裁切(数据管理-栅格-栅格处理)或按掩膜提取(空间分析-提取分析)来裁切,裁切的矢量要素通常是一个要素图层或Shape文件.如果要进行批量处理,可以使用ToolBox中的批量 ...
- Python实用案例,Python脚本,Python实现批量加水印
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 Python实现每日更换"必应图片"为"桌 ...
随机推荐
- js学习笔记----JavaScript中DOM扩展的那些事
什么都不说,先上总结的图~ Selectors API(选择符API) querySelector()方法 接收一个css选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回null ...
- 1ink 与 @import 的区别
1ink与@import的区别 目录 1ink与@import的区别 差别1:归属关系的差别 差别2:加载顺序的差别 差别3:兼容性的差别 差别4:使用dom控制样式时的差别 1ink与@import ...
- [视频]K8飞刀 Discuz! X 系列(1.5 2.5 3.x)产品升级漏洞GetShell教程
K8飞刀 Discuz! X 系列(1.5 2.5 3.x)产品升级漏洞GetShell教程 https://pan.baidu.com/s/1bnv2euz
- kafka的迁移干货
随着业务的发展, 服务器所在网段/机群不允许kafka继续保留在那, 需要移动到先机器上. 哎呀上面是废话,总的说就是: 2台老kafka不要了,数据要迁移到新的2台kafka上面.要求数据不丢失 通 ...
- 获取屏幕宽度,将view移出屏幕再移动回来
public class MainActivity extends AppCompatActivity { private TextView kuandu; float curTranslationX ...
- Docker修改默认网段
因阿里云服务器VPC默认占用了172.16.0.0/16 网段,与Docker里的网段相同,导致Docker里无法连接VPC服务器.后来找到的解决方案是修改Docker的默认网段. 由于Docker默 ...
- 大牛是怎么思考设计MySQL优化方案
在进行MySQL的优化之前,必须要了解的就是MySQL的查询过程,很多查询优化工作实际上就是遵循一些原则,让MySQL的优化器能够按照预想的合理方式运行而已. 1.优化的哲学 注:优化有风险,涉足需谨 ...
- Jenkins之使用Pyinstaller构建Python应用程序
目录 1. 极简概述 2. Jenkins配置 2.1 安装JDK 2.2 安装Jenkins 3. 安装Docker 4. 使用PyInstaller构建Python应用程序 4.1 Fork 一个 ...
- Linux 学习手记(1):命令行BASH的基本操作
1. Shell 是什么 Shell(壳)是用户与操作系统底层(通常是内核)之间交互的中介程序,负责将用户指令.操作传递给操作系统底层. Shell一般分为:图形化Shell(GUI).命令行Shel ...
- SaltStack 安装、简单配置和远程执行
1:安装 修改hosts文件,必须保证Master端和Minion端都有完整的FQDN名示例如下: vim /etc/hosts 192.168.31.101 node2 node2.crazylin ...