upStream.py 3.27 KB
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import requests
import json
import urllib3
from commons import ConfigDB as db
from commons import common as com
from commons.api.login import login
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ll=login()

#列表查询
class upStream(login):
    
    url="http://test.trace.diligrp.com:8393/upStream/listPage.action"
    header={
            "Host": "test.trace.diligrp.com",
            "Connection": "keep-alive",
            "Content-Length": "325",
            "Accept": "application/json,text/javascript,*/*;q=0.01",
            "X-Requested-With": "XMLHttpRequest",
            "User-Agent": "Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/90.0.4430.212Safari/537.36",
            "Content-Type": "application/json",
            "Origin": "http://test.trace.diligrp.com:8393",
            "Referer": "http://test.trace.diligrp.com:8393/upStream/index.html",
            "Accept-Encoding": "gzip,deflate",
            "Accept-Language": "zh-CN,zh-TW;q=0.9,zh;q=0.8,en;q=0.7"}
    body={"rows":10,"page":1,"sort":"id","order":"desc","metadata":{"created":"{\"provider\":\"datetimeProvider\",\"index\":10,\"field\":\"created\"}","upORdown":"{\"provider\":\"userFlagProvider\",\"index\":20,\"field\":\"upORdown\"}","upstreamType":"{\"provider\":\"upStreamTypeProvider\",\"index\":30,\"field\":\"upstreamType\"}"}}
    
    
    def __init__(self):
        self.url=upStream.url
        self.header=upStream.header
        self.body=upStream.body
        
#     def post(self,name, password,**kwargs):
#         se=super().get_session(name, password)
#         #用了super后,下面的变量直接变成父类的变量了,跳过子类了,因此导致post请求的时候用实例变量会错误
# #         print(self.header)
# #         print(self.body)
#         se.post(url=upStream.url, headers=upStream.header,json=upStream.body,**kwargs)
#         super().close_session()

    def post(self,name, password,**kwargs):
        se=ll.get_session(name, password)
        #用了super后,下面的变量直接变成父类的变量了,跳过子类了
#         re=se.post(url=self.url, headers=self.header,json=self.body,**kwargs)
        re=se.post(**kwargs)
        ll.close_session()
        return re
       
       
    def post2(self,session,name, password,**kwargs):
        #直接传session,可以适配不用接口使用不同session的场景
        se=ll.get_session(name, password)
        print("post2",session)
        #用了super后,下面的变量直接变成父类的变量了,跳过子类了
#         re=se.post(url=self.url, headers=self.header,json=self.body,**kwargs)
        re=session.post(**kwargs)
        ll.close_session()
        return re


tt=upStream()
# print(id(tt.body))
# print(id(upStream.body))
# tt.body["order"]=111
# print(tt.body)
# print(upStream.body)
# print(id(tt.body))
# print(id(upStream.body))
# #深拷贝
# t1=tt.body.copy()
# print(id(t1))
# print(id(tt.body))
# t1["rows"]="666"
# print(id(t1))
# print(id(tt.body))
# print(t1)
# print(tt.body)

# tt.post("sg_wenze", "111111",url=tt.url,headers=tt.header,json=tt.body,proxies={'http': 'http://localhost:8888'})

# # print(tt.class_var)
# # print(tt.login_url)
# tt.demo("sg_wenze", "111111",proxies={'http': 'http://localhost:8888'})