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())
  • 相关阅读:
    SuperMap房产测绘成果管理平台
    SuperMap产权登记管理平台
    Android adb shell am 的用法(1)
    由浅入深谈Perl中的排序
    Android 内存监测和分析工具
    Android 网络通信
    adb server is out of date. killing...
    引导页使用ViewPager遇到OutofMemoryError的解决方案
    adb logcat 详解
    How to send mail by java mail in Android uiautomator testing?
  • 原文地址:https://www.cnblogs.com/wenquanli/p/9717595.html
Copyright © 2011-2022 走看看