upStream.py
3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/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'})