时间:2021-07-01 10:21:17 帮助过:67人阅读
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脚本如何模拟接口实现批量用户开通(代码)的详细内容,更多请关注Gxl网其它相关文章!