模拟开户接口,使用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实现每日更换"必应图片"为"桌 ...
随机推荐
- 在 Ubuntu 上安装 TensorFlow (官方文档的翻译)
本指南介绍了如何在 Ubuntu 上安装 TensorFlow.这些指令也可能对其他 Linux 变体起作用, 但是我们只在Ubuntu 14.04 或更高版本上测试了(我们只支持) 这些指令. 一 ...
- 关于git的常用命令
1.git add <name> 将工作区的内容添加到暂存区 2.git commit -m <备注> 将内容提交到暂存区 3.git status 查看状态 4. git ...
- 关于爬虫中常见的两个网页解析工具的分析 —— lxml / xpath 与 bs4 / BeautifulSoup
http://www.cnblogs.com/binye-typing/p/6656595.html 读者可能会奇怪我标题怎么理成这个鬼样子,主要是单单写 lxml 与 bs4 这两个 py 模块名可 ...
- Python基础之带你快速掌握列表的常用方法
append 前面说过列表是一种 内容可改变的 对象. append方法就会改变列表的内容,在后面添加一个元素 比如 a = [1, 2, 3.14, 'hello'] # append 之后,a就变 ...
- Java基础系列--final、finally关键字
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8482909.html 一.概述 final是Java关键字中最常见之一,表示“最终的,不可 ...
- Hibernate学习(一)———— 第一个hibernate工程
一.什么是Hibernate? 轻量级JavaEE应用的持久层框架,是一个完全的ORM框架.(说完这句话,肯定有很多人懵圈了,下面我来一个个解释) 持久化:将我们想要保存的数据保存到硬盘上,也就是我们 ...
- Spark2.1.0——内置Web框架详解
Spark2.1.0——内置Web框架详解 任何系统都需要提供监控功能,否则在运行期间发生一些异常时,我们将会束手无策.也许有人说,可以增加日志来解决这个问题.日志只能解决你的程序逻辑在运行期的监控, ...
- js------数组随机排序和去重
let arr = ['g', 'b', 'c', 'd', 'e', 'a', 'g', 'b', 'c']; // 数组随机排序(原数组被修改)Array.prototype.randomSort ...
- JavaScript之八皇后问题(递归)
八皇后问题,是一个古老而著名的问题,该问题最早由国际西洋棋棋手马克斯·贝瑟尔(Max Bezzel)于1848年提出.八皇后问题的具体描述为:在\(8\times8\)的国际象棋上摆放8个皇后,使 ...
- 打印小票,使用的是BarcodeLib
打印 private void Control_Click(object s,EventArgs e) { if (((Control)s).Name == "button1") ...