python脚本如何模拟接口实现批量用户开通(代码)

不言
发布: 2018-09-28 14:18:21
转载
2918人浏览过

本篇文章给大家带来的内容是关于python脚本如何模拟接口实现批量用户开通(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

1、目的

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

2、分析

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

立即学习Python免费学习笔记(深入)”;

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("
", '')
        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脚本如何模拟接口实现批量用户开通(代码)的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:博客园网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号