컴퓨터 공학

👉 [Python] requests 모듈 기본 활용

bitcodic 2019. 10. 19. 15:25

 

Requests is an elegant and simple HTTP library for Python, built for human beings.

 

 

기본 형태

1
2
3
4
5
6
import requests
 
response = requests.get(URL)
response.text # TEXT 값
response.status_code # HTTP 상태 코드
response.json() # 반환값 JSON 파싱
 

 

URL로 파라미터 패싱

1
2
payload = {'key1''value1''key2''value2'}
 

 

Timeout 설정

* 단위는 sec

1
2
3
4
5
6
7
try:
    requests.post(url, data=payload, timeout=5)
 
except requests.Timeout:
    # back off and retry
    pass
 
except requests.ConnectionError:
    pass
Colored by Color Scripter
 

Note: timeout is not a time limit on the entire response download; rather, an exception is raised if the server has not issued a response for timeout seconds (more precisely, if no bytes have been received on the underlying socket for timeout seconds). If no timeout is specified explicitly, requests do not time out.

 

> 타임아웃은 응답에 대한 시간제한을 거는 것이 아니라, 서버가 응답을 타임아웃 시간 내에 보내지 않으면 예외를 발생시킵니다.( 정확하게 말하자면, 바이트 값이 소켓에 접수되지 않을때.) 타임아웃 파라미터를 넘기지 않는다면 requests 는 타임아웃을 실행하지 않습니다.

 

출처 : https://stackoverflow.com/questions/54619868/http-requests-post-timeout

 

HTTP requests.post timeout

In my code below, I use requests.post. What are the possibilities to simply continue if the site is down? I have the following code: def post_test(): import requests url = 'http://examp...

stackoverflow.com

 

 

자세한 레퍼런스

https://requests.kennethreitz.org/en/master/#the-user-guide