requests는 python을 위한 쉬운 HTTP 라이브러리로 HTTP request를 보내는 것을 쉽게 하도록 도와준다.
make a request
>>> requests.get('https://api.github.com')
<Response [200]>
HTTP method 중 가장 많이 사용되는 것들 중 하나는 GET이다. GET method는 특정 resource에서 data를 가져올때 사용하게 된다. GET request를 만들기 위해서는 requests.get()을 이용하면 된다.
import requests
r = requests.get('URL')
requests.get()을 변수에 저장해 주면 Response 객체인 r을 얻을 수 있다. 이제 이를 이용해서 GET request 결과에 대한 모든 정보를 얻을 수 있다.
import requests
r = requests.post('https://httpbin.org/post', data={'key': 'value'})
r = requests.put('https://httpbin.org/put', data={'key': 'value'})
r = requests.delete('https://httpbin.org/delete')
r = requests.head('https://httpbin.org/get')
r = requests.options('https://httpbin.org/get')
GET method 외에도 다양한 타입의 HTTP request를 requests 라이브러리를 통해 쉽게 보낼 수 있다.
response status codes
Response로부터 얻게되는 정보의 가장 첫번째 bit는 바로 status code이다. status code는 내가 보낸 request의 status를 알 수 있도록 해준다. 예를 들어 200 OK status는 내가 보낸 request가 성공적이라는 것이고, 404 NOT FOUND status는 내가 찾는 resource를 찾지 못했다는 의미이다.
r = requests.get('https://httpbin.org/get')
r.status_code
200
.status_code를 통해 server가 보낸 status code를 확인할 수 있다. 결과로 200을 얻었다면 내가 보낸 request가 성공적이고 내가 요청한 data를 server가 응답했다는 의미이다.
r.status_code == requests.codes.ok
True
또 위와 같은 방식으로 response의 status code가 정상적인지 확인할 수 있다.
response content
import requests
r = requests.get('https://api.github.com/events')
r.text
'[{"repository":{"open_issues":0,"url":"https://github.com/...
response의 content를 string형식으로 보고싶다면 .text를 사용하면 된다. requests 라이브러리는 server로 부터의 content를 자동으로 decode해준다.
binary response content
r.content
b'[{"repository":{"open_issues":0,"url":"https://github.com/...
response의 content를 byte형식으로 보고싶다면 .content를 사용하면 된다.
<참고사이트>
https://docs.python-requests.org/en/latest/
Requests: HTTP for Humans™ — Requests 2.27.1 documentation
Requests: HTTP for Humans™ Release v2.27.1. (Installation) Requests is an elegant and simple HTTP library for Python, built for human beings. Behold, the power of Requests: >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.
docs.python-requests.org
https://realpython.com/python-requests/
Python’s Requests Library (Guide) – Real Python
In this tutorial on Python's "requests" library, you'll see some of the most useful features that requests has to offer as well as how to customize and optimize those features. You'll learn how to use requests efficiently and stop requests to external serv
realpython.com
'Python' 카테고리의 다른 글
[Python]클래스 (0) | 2022.01.16 |
---|---|
[Python]자료형: 딕셔너리 자료형 (0) | 2022.01.15 |
[Python]자료형: 리스트 자료형, 튜플 자료형 (0) | 2022.01.15 |
[Python] 웹 크롤링 (0) | 2022.01.14 |
[Python] BeautifulSoup 라이브러리 (0) | 2022.01.14 |