python-인터페이스 자동화 인증 인 스 턴 스

첫 번 째 문제:
클래스 를 쓰 면 http 가 있 습 니 다.request 함수,http 의 get 및 post 요청,url 과 param 을 이 함수 의 인자 로 완성 할 수 있 습 니 다.
난점:쿠키 가 있 으 면 요청 을 어떻게 완성 하 는 지 고려 해 보 세 요.로그 인 은 충전 과 관련 이 있 기 때 문 입 니 다.
인증:인 스 턴 스 를 만 들 고 로그 인--->충전 요청 을 완료 합 니 다.
로그 인:http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login
인자:{"mobilephone":"13500000","pwd":"123456"}
충전:http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/recharge
인자:{"mobilephone":"13500000","amount":"100"}
#http_request_1
\#첫 번 째 해법:전역 변 수 를 설정 합 니 다:
import requests
COOKIES=None#    
#          cookie
class HttpRequest:
    def http_request(self,url,params,method):
        global COOKIES#  cookie     
        if method.upper()=='GET':
            res=requests.get(url,params,cookies=COOKIES)
        elif method.upper()=='POST':
            res=requests.post(url,params,cookies=COOKIES)
        print("   cookie",res.cookies)
        print("  cookie  ",COOKIES)
        if res.cookies!={}:#cookies               
            COOKIES=res.cookies#    
        print(res.json())
        #  HTTP       ,       cookies

if __name__ == '__main__':
    t=HttpRequest()
    login='http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login'
    login_data={"mobilephone":"13500000000","pwd":"123456"}

    re_url='http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/recharge'
    re_data={"mobilephone":"13500000000","amount":"100"}

    t.http_request(login,login_data)#  
    print("    ")
    t.http_request(re_url,re_data)#  
    print("    ")

 

 
\#두 번 째 해법:
import requests
from demo.save_value import SaveValue

object=SaveValue()
class HttpRequest:
    def http_request(self,url,params):
        res=requests.get(url,params,cookies=object.COOKIES)
        print("   cookie",res.cookies)
        if res.cookies!={}:#cookies    ,      
            
            setattr(object,'COOKIES',res.cookies)
        print(res.json())
    

if __name__ == '__main__':
    t=HttpRequest()
    login='http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login'
    login_data={"mobilephone":"13500000000","pwd":"123456"}

    re_url='http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/recharge'
    re_data={"mobilephone":"13500000000","amount":"100"}

    t.http_request(login,login_data)#  
    t.http_request(re_url,re_data)#  

 
#save_value.py
class SaveValue:
    COOKIES=None

 
 
두 번 째 문제:
1:TXT 에 로그 인 및 충전 요청 인 자 를 넣 습 니 다.데 이 터 는 다음 과 같 습 니 다.
로그 인:http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login
인자:{"mobilephone":"13500000","pwd":"123456"}
충전:http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/recharge
인자:{"mobilephone":"13500000","amount":"100"}
TXT 에 저장 할 형식 은 다음 과 같 습 니 다.
#data_test_1.txt
url:http://xxx.xxx.xxx.xxx:8080/futureloan/mvc/api/member/login,mobilephone:13500000000,pwd:123456,method:get
url:http://xxx.xxx.xxx:8080/futureloan/mvc/api/member/recharge,mobilephone:13500000000,amount:100,method:post
작업 요구:get 이용data.py 의 클래스 GetData 는 txt 에서 데 이 터 를 읽 는 클래스 로 테스트 데 이 터 를 읽 습 니 다.
#get_data.py
class GetData:
    def get_data(self,file_path):
        file=open(file_path)
        all_lines=file.readlines()
        # print(all_lines)
        list_1=[]
        for one_line in all_lines:
            split_data=one_line.strip('
').split(',') dict_1={} for item in split_data: item_split=item.split(':',1) dict_1[item_split[0]]=item_split[1]# list_1.append(dict_1) return list_1

py 파일 을 새로 만 들 고 첫 번 째 문 제 를 도입 하여 HTTP 요청 클래스 와 두 번 째 문 제 를 읽 는 데이터 클래스 를 완성 합 니 다.인 스 턴 스 를 만 들 고 로그 인 과 충전 요청 을 완료 합 니 다.
#run.py
from demo.http_request_1 import HttpRequest
from demo.get_data import GetData

t=HttpRequest()
test_data=GetData().get_data('test_data.txt')
print(test_data)
for item in test_data:
    print("      ",item)
    method=item['method']
    item.pop('method')

    url=item['url']
    item.pop('url')

    t.http_request(url,item,method)

 

좋은 웹페이지 즐겨찾기