관리 메뉴

소나기

Python request 라이브러리 간단 사용방법 본문

연구/Network

Python request 라이브러리 간단 사용방법

moyoung 2022. 9. 30. 08:00

 

지금 내가 작성하고 있는 코드는 Radius 패킷을 받아 EAP payload를 추출하고 그걸 HTTP 서버에 전송한다.

그 후에 서버가 보내는 응답을 받아 다시 Radius 패킷형태로 조물조물 해서 되돌려보낸다.

 

여기서 지금 막힌 곳은 request 부분이다.

 

// 보내고자 하는 url, data, header 를 정의한다.
url = "http://localhost:5000/eap-session" // Example
data = {'eapPayload': eap_message}
headers = {'Content-type': 'application/json', 'Accept': 'application/3gppHal+json'}
// request를 요청한다. 여기서 request뒤에 붙은 s를 잊지 말자
r = requests.post(url, data=json.dumps(data), headers=headers)

// 요청이 성공하면 응답상태, 400, 500, 200과 같은 코드와 응답 데이터가 전송되어 온다
print(r.json)  // 응답상태 출력
# <bound method Response.json of <Response [200]>> 와 같은 응답 상태를 받는다.
print(r.text) // 응답데이터 출력. 내 경우 응답 데이터는 아래와 같다. 
# {"eapPayload":"AVUADDIMAAAMAUAA","_links":{"eap-session":{"href":"http://.....중략....", authResult":"AUTHENTICATION_ONGOING"}

eapPayload = r.json()["eapPayload"] // 특정 feature만 뜯어서 저장할 경우
authResult = r.json()["authResult"]
 

이런식으로 request를 보내고 response 를 받으면 저장하고 내용을 확인 할 수 있다.

 

응답데이터의 속성은 아래와 같다.

속성
설명
status_code
응답 상태
headers
headers 정보
cookies
cookies 정보
encoding
데이터 인코딩을 확인할 수 있습니다.
text
str 타입 데이터
content
bytes 타입 데이터
.json()
dict 타입 데이터

 

Comments