zoukankan      html  css  js  c++  java
  • 模拟开户接口,使用python脚本实现批量用户开通

    1、目的

    通过模拟接口方法,实现批量用户开通

    2、分析

    A、接口含body和head部分,其中body中的某些变量为必填字段,包含用户的信息。

    B、用户信息清单可以整理成ott_after_check_device文件。

    C、将ott_after_check_device文件转换成列表数据类型,将其用户信息对应替换到body.xml文件中。

    3、脚本实现

     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 
     4 import requests
     5 from requests_toolbelt.multipart.encoder import MultipartEncoder
     6 
     7 def get_txt_after_check_device():
     8     ott_after_check_device = '.\ott_after_check_device.txt'
     9     f = open(ott_after_check_device)
    10     lines = f.readlines()
    11     all_list_device = []
    12     for line in lines:
    13         line = line.replace("
    ", '')
    14         list_device = line.split(',')
    15         all_list_device.append(list_device)
    16     return all_list_device
    17 
    18 
    19 def ott_boss(list_device):
    20     sleep_time = 0.001
    21     # print len(list_device)
    22     for i in range(len(list_device)):
    23         print u'新开户数 :', i + 1
    24         time.sleep(sleep_time)
    25         acc_num = list_device[i][0]
    26         stb_id = list_device[i][1]
    27         print 'STBID : ', stb_id
    28         account = list_device[i][2]
    29         url = 'http://10.2.214.133:6600/oss/rest/mango/bossManagement/syncOrder'
    30         mul = MultipartEncoder(
    31                 fields={
    32                     'xmlhead': '<?xml version="1.0" encoding="UTF-8"?> <InterBOSS>'
    33                                '<Version>0100</Version>'
    34                                '<TestFlag>0</TestFlag>'
    35                                '<BIPType>'
    36                                '<BIPCode>IPTVB412</BIPCode>'
    37                                '<ActivityCode>T2101057</ActivityCode>'
    38                                '<ActionCode>0</ActionCode>'
    39                                '</BIPType>'
    40                                '<RoutingInfo>'
    41                                '<OrigDomain>BOSS</OrigDomain>'
    42                                '<RouteType>00</RouteType>'
    43                                '<Routing>'
    44                                '<HomeDomain>OTT</HomeDomain>'
    45                                '<RouteValue>210</RouteValue>'
    46                                '</Routing>'
    47                                '</RoutingInfo>'
    48                                '<TransInfo>'
    49                                '<SessionID>2018092517323481311686</SessionID>'
    50                                '<TransIDO>2018092517323416388122</TransIDO>'
    51                                '<TransIDOTime>20180211173234</TransIDOTime>'
    52                                '</TransInfo> </InterBOSS>',
    53                     'xmlbody': '<?xml version="1.0" encoding="UTF-8"?> <InterBOSS>     <SvcCont><![CDATA[<?xml '
    54                                'version="1.0" encoding="UTF-8"?> <OrdSynReq>'
    55                                '<PkgSeq>73120180111000007</PkgSeq>'
    56                                '<RecNum>1</RecNum>'
    57                                '<UD1>'
    58                                '<IDType>01</IDType>'
    59                                '<IDV>%s</IDV>'
    60                                '<Brand>09</Brand>'
    61                                '<Opr>06</Opr>'
    62                                '<OprT>20180925171922</OprT>'
    63                                '<BizType>52</BizType>'
    64                                '<Seq>8121</Seq>'
    65                                '<BroadbandID>738815023717</BroadbandID>'
    66                                '<ZipCode></ZipCode>'
    67                                '<Address></Address>'
    68                                '<UserName></UserName>'
    69                                '<UserSex></UserSex>'
    70                                '<IDCardType></IDCardType>'
    71                                '<IDCardNum></IDCardNum>'
    72                                '<AreaCode>K381</AreaCode>'
    73                                '<GroupID></GroupID>'
    74                                '<POCont>'
    75                                '<ActType>1</ActType>'
    76                                '<StbID>%s</StbID>'
    77                                '<Account>%s</Account>'
    78                                '<Password>111111</Password>'
    79                                '<ChrgType>2</ChrgType>'
    80                                '<EffetiTime>20180925171922</EffetiTime>'
    81                                '<Channel>08</Channel>'
    82                                '<SPID>mango</SPID>'
    83                                '<BizCode>defaultBasicProduct</BizCode>'
    84                                '<BizKind>01</BizKind>'
    85                                '</POCont>'
    86                                '</UD1> </OrdSynReq> '
    87                                ']]></SvcCont> </InterBOSS>' % (acc_num, stb_id, account)
    88                 }
    89         )
    90         header = {'Content-Type': mul.content_type}
    91         body = mul
    92         response = requests.post(url, data=body, headers=header)
    93         print response.content
    94         print response.status_code
    95 
    96 
    97 if __name__ == '__main__':
    98     ott_boss(get_txt_after_check_device())
  • 相关阅读:
    atitit.TokenService v3 qb1 token服务模块的设计 新特性.docx
    Atitit attilax在自然语言处理领域的成果
    Atitit 图像清晰度 模糊度 检测 识别 评价算法 原理
    Atitit (Sketch Filter)素描滤镜的实现  图像处理  attilax总结
    atitit。企业的价值观 员工第一 vs 客户第一.docx
    Atitit 实现java的linq 以及与stream api的比较
    Atitit dsl exer v3 qb3 新特性
    Atititi tesseract使用总结
    Atitit 修改密码的功能流程设计 attilax总结
    atitit.TokenService v3 qb1  token服务模块的设计 新特性.docx
  • 原文地址:https://www.cnblogs.com/wenquanli/p/9717595.html
Copyright © 2011-2022 走看看