암호 프로토콜
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