模拟开户接口,使用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实现每日更换"必应图片"为"桌 ...
随机推荐
- 【sping揭秘】15、afterreturning
@afterreturning 我们同理写几个测试类 package cn.cutter.start.bean; import org.apache.commons.logging.Log; impo ...
- 用eclipse导入打war包的maven项目
最近遇到Maven管理下的Spring MVC项目,组内某位将项目代码扔过来,一脸懵逼(囧),查阅了一些资料后终于将此项目运行通了(>_<),特此记录下来与各位分享. 通俗的来说,Mave ...
- javascript的hashCode实现
hashCode = function(str){ var hash = 0; if (str.length == 0) return hash; for (i = 0; i < str.len ...
- NGINX 加载动态模块(NGINX 1.9.11开始增加加载动态模块支持)
NGINX 1.9.11开始增加加载动态模块支持,从此不再需要替换nginx文件即可增加第三方扩展.目前官方只有几个模块支持动态加载,第三方模块需要升级支持才可编译成模块. tinywan@tinyw ...
- [深度学习]CNN--卷积神经网络中用1*1 卷积有什么作用
1*1卷积过滤器 和正常的过滤器一样,唯一不同的是它的大小是1*1,没有考虑在前一层局部信息之间的关系.最早出现在 Network In Network的论文中 ,使用1*1卷积是想加深加宽网络结构 ...
- Angularjs 通过asp.net web api认证登录
Angularjs 通过asp.net web api认证登录 Angularjs利用asp.net mvc提供的asp.net identity,membership实现居于数据库的用户名/密码的认 ...
- Spring-IOC实现【02-其他实现方式】
接上文Spring-IOC实现[01-XML配置方式] Java配置方式 SpringBoot流行之后,Java 配置开始被广泛使用. Java配置本质上,就是使用一个Java类去代替xml配置,这种 ...
- nopCommerce 3.2新功能
NopCommerce版本3.20,上周被释放,对于那些你谁还不熟悉新版本或刚经过脱脂发行说明我们的新功能的详细介绍. 在nopCommerce 3.20新功能的工作往往需要某些设置或语言资源的快速修 ...
- WPF 使用 Direct2D1 画图入门
本文来告诉大家如何在 WPF 使用 D2D 画图. 本文是一个系列 WPF 使用 Direct2D1 画图入门 WPF 使用 Direct2D1 画图 绘制基本图形 WPF 使用 SharpDX WP ...
- quartz部署出现找不到表的情况,错误提示: Table 'heart_beat.QRTZ_LOCKS' doesn't exist
描述一下,本地可以,部署到Linux就不行,Linux上的数据库是本地直接拷贝上去的,项目环境是Spring Boot2.1.Shiro.MyBatis.Redis.swagger.Bootstrap ...