cari
Rumahpembangunan bahagian belakangTutorial Pythonpython脚本如何模拟接口实现批量用户开通(代码)

本篇文章给大家带来的内容是关于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={
                    &#39;xmlhead&#39;: &#39;<?xml version="1.0" encoding="UTF-8"?> <InterBOSS>&#39;
                               &#39;<Version>0100</Version>&#39;
                               &#39;<TestFlag>0</TestFlag>&#39;
                               &#39;<BIPType>&#39;
                               &#39;<BIPCode>IPTVB412</BIPCode>&#39;
                               &#39;<ActivityCode>T2101057</ActivityCode>&#39;
                               &#39;<ActionCode>0</ActionCode>&#39;
                               &#39;</BIPType>&#39;
                               &#39;<RoutingInfo>&#39;
                               &#39;<OrigDomain>BOSS</OrigDomain>&#39;
                               &#39;<RouteType>00</RouteType>&#39;
                               &#39;<Routing>&#39;
                               &#39;<HomeDomain>OTT</HomeDomain>&#39;
                               &#39;<RouteValue>210</RouteValue>&#39;
                               &#39;</Routing>&#39;
                               &#39;</RoutingInfo>&#39;
                               &#39;<TransInfo>&#39;
                               &#39;<SessionID>2018092517323481311686</SessionID>&#39;
                               &#39;<TransIDO>2018092517323416388122</TransIDO>&#39;
                               &#39;<TransIDOTime>20180211173234</TransIDOTime>&#39;
                               &#39;</TransInfo> </InterBOSS>&#39;,
                    &#39;xmlbody&#39;: &#39;<?xml version="1.0" encoding="UTF-8"?> <InterBOSS>     <SvcCont><![CDATA[<?xml &#39;
                               &#39;version="1.0" encoding="UTF-8"?> <OrdSynReq>&#39;
                               &#39;<PkgSeq>73120180111000007</PkgSeq>&#39;
                               &#39;<RecNum>1</RecNum>&#39;
                               &#39;<UD1>&#39;
                               &#39;<IDType>01</IDType>&#39;
                               &#39;<IDV>%s</IDV>&#39;
                               &#39;<Brand>09</Brand>&#39;
                               &#39;<Opr>06</Opr>&#39;
                               &#39;<OprT>20180925171922</OprT>&#39;
                               &#39;<BizType>52</BizType>&#39;
                               &#39;<Seq>8121</Seq>&#39;
                               &#39;<BroadbandID>738815023717</BroadbandID>&#39;
                               &#39;<ZipCode></ZipCode>&#39;
                               &#39;<Address></Address>&#39;
                               &#39;<UserName></UserName>&#39;
                               &#39;<UserSex></UserSex>&#39;
                               &#39;<IDCardType></IDCardType>&#39;
                               &#39;<IDCardNum></IDCardNum>&#39;
                               &#39;<AreaCode>K381</AreaCode>&#39;
                               &#39;<GroupID></GroupID>&#39;
                               &#39;<POCont>&#39;
                               &#39;<ActType>1</ActType>&#39;
                               &#39;<StbID>%s</StbID>&#39;
                               &#39;<Account>%s</Account>&#39;
                               &#39;<Password>111111</Password>&#39;
                               &#39;<ChrgType>2</ChrgType>&#39;
                               &#39;<EffetiTime>20180925171922</EffetiTime>&#39;
                               &#39;<Channel>08</Channel>&#39;
                               &#39;<SPID>mango</SPID>&#39;
                               &#39;<BizCode>defaultBasicProduct</BizCode>&#39;
                               &#39;<BizKind>01</BizKind>&#39;
                               &#39;</POCont>&#39;
                               &#39;</UD1> </OrdSynReq> &#39;
                               &#39;]]></SvcCont> </InterBOSS>&#39; % (acc_num, stb_id, account)
                }
        )
        header = {&#39;Content-Type&#39;: mul.content_type}
        body = mul
        response = requests.post(url, data=body, headers=header)
        print response.content
        print response.status_code


if __name__ == &#39;__main__&#39;:
    ott_boss(get_txt_after_check_device())

Atas ialah kandungan terperinci python脚本如何模拟接口实现批量用户开通(代码). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:博客园. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apakah beberapa operasi biasa yang boleh dilakukan pada tatasusunan python?Apr 26, 2025 am 12:22 AM

PythonArraysSupportVariousoperations: 1) SlicingExtractsSubsets, 2) Menambah/ExtendingAddSelements, 3) InsertingPlaceSelementSatSatSatSpecifics, 4) RemovingDeleteselements, 5) Sorting/ReversingChangesOrder,

Dalam jenis aplikasi yang biasa digunakan oleh numpy?Dalam jenis aplikasi yang biasa digunakan oleh numpy?Apr 26, 2025 am 12:13 AM

NumpyarraysareessentialforapplicationRequiringeficientnumericalcomputationsanddatamanipulation.theyarecrucialindaSascience, machinelearning, fizik, kejuruteraan, danfinanceduetotheirabilitytOHandlelarge-Scaledataefisien.Forexample, infinancialanal

Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Bilakah anda memilih untuk menggunakan array di atas senarai di Python?Apr 26, 2025 am 12:12 AM

UseanArray.arrayoveralistinpythonwhendealingwithhomogeneousdata, criticalcode prestasi, orinterfacingwithccode.1) homogeneousdata: arrayssavemememorywithtypedelements.2)

Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Adakah semua operasi senarai disokong oleh tatasusunan, dan sebaliknya? Mengapa atau mengapa tidak?Apr 26, 2025 am 12:05 AM

Tidak, notalllistoperationsaresuportedByArrays, andviceversa.1) arraysdonotsupportdynamicoperationslikeappendorinsertwithoutresizing, whyimpactsperformance.2) listsdonotguaranteeconstantTimeComplexityFordirectacesscesscesscesscesscesscesscesscesscesessd.

Bagaimana anda mengakses elemen dalam senarai python?Bagaimana anda mengakses elemen dalam senarai python?Apr 26, 2025 am 12:03 AM

ToaccesselementsinaPythonlist,useindexing,negativeindexing,slicing,oriteration.1)Indexingstartsat0.2)Negativeindexingaccessesfromtheend.3)Slicingextractsportions.4)Iterationusesforloopsorenumerate.AlwayschecklistlengthtoavoidIndexError.

Bagaimana tatasusunan digunakan dalam pengkomputeran saintifik dengan python?Bagaimana tatasusunan digunakan dalam pengkomputeran saintifik dengan python?Apr 25, 2025 am 12:28 AM

Arraysinpython, terutamanya yang, arecrucialinscientificificputingputingfortheirefficiencyandversatility.1) mereka yang digunakan untuk

Bagaimana anda mengendalikan versi python yang berbeza pada sistem yang sama?Bagaimana anda mengendalikan versi python yang berbeza pada sistem yang sama?Apr 25, 2025 am 12:24 AM

Anda boleh menguruskan versi python yang berbeza dengan menggunakan Pyenv, Venv dan Anaconda. 1) Gunakan pyenv untuk menguruskan pelbagai versi python: Pasang pyenv, tetapkan versi global dan tempatan. 2) Gunakan VENV untuk mewujudkan persekitaran maya untuk mengasingkan kebergantungan projek. 3) Gunakan Anaconda untuk menguruskan versi python dalam projek sains data anda. 4) Simpan sistem python untuk tugas peringkat sistem. Melalui alat dan strategi ini, anda dapat menguruskan versi Python yang berbeza untuk memastikan projek yang lancar.

Apakah beberapa kelebihan menggunakan array numpy melalui array python standard?Apakah beberapa kelebihan menggunakan array numpy melalui array python standard?Apr 25, 2025 am 12:21 AM

Numpyarrayshaveseveraladvantagesoverstanderardpythonarrays: 1) thearemuchfasterduetoc-assedimplementation, 2) thearemorememory-efficient, antyedlargedataSets, and3) theyofferoptimized, vectorizedfuncionsformathhematicalicalicalicialisation

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual