power-girl0-0

requests 모듈 본문

암호 프로토콜

requests 모듈

power-girl0-0 2021. 3. 18. 03:18
728x90

 

해당 글은 requests모듈을 간단히 정리하고자 작성한 글입니다.

모듈 사용한 예제를 보고 싶으시면, 아래 주소를 참고하세요.

( 2021.03.19 - [War game/Lord of SQL Injection] - orc )

 


1. import를 이용해서 request모듈을 가져온다.

import requests

2. 요청할 URL을 가져오자. 

본 작성자는 해당 블로그 주소를 입력하였다.

url = requests.get('https://power-girl0-0.tistory.com/')

3. GET 요청할 때 parameter 전달법

params = {'param1': 'value1', 'param2': 'value'}
res = requests.get('power-girl0-0.tistory.com/', params=params)

4. POST 요청할 때 data 전달법

위 방식과 같으나, params 대신 data라는 이름을 사용해야 한다.

data = {'param1': 'value1', 'param2': 'value'}
res = requests.post(' power-girl0-0.tistory.com/ ', data=data)

 

좀 더 복잡한 구조로 POST요청을 해야할 때가 있다.

그럴 경우, 딕셔너리의 구조를 유지하면서 문자열로 바꿔서 전달해야 한다.

 

python에서는 json모듈을 사용하면 된다.

아래는 그에 해당되는 예제이다.

import requests, json

data = {'outer': {'inner': 'value'}}
res = requests.post(URL, data=json.dumps(data))

5. 헤더 추가, 쿠키 추가

별도의 헤더 옵션을 추가하고자 할 때는 headers 옵션을 사용하고,

쿠키를 추가하여 요청하려면 cookies 옵션을 사용하면 된다.

headers = {'Content-Type': 'application/json; charset=utf-8'}
cookies = {'session_id': 'value'}
res = requests.get(URL, headers=headers, cookies=cookies)

6. 응답(Response) 객체

요청(request)을 보내면 응답(response)을 받는다.

응답 객체는 많은 정보와 기능을 가지고 있으며, 그 중 몇가지만 아래에 적어두었다.

res.request # 내가 보낸 request 객체에 접근 가능 
res.status_code # 응답 코드 
res.raise_for_status() # 200 OK 코드가 아닌 경우 에러 발동 
res.json() # json response일 경우 딕셔너리 타입으로 바로 변환

 

 

참고 링크

1. http://docs.python-requests.org/en/master/user/quickstart/

2. https://dgkim5360.tistory.com/entry/python-requests

 

 

 

728x90
Comments