어떤 페이지를 접속할 때에, redirection이 발생할 수 있습니다.
특정 페이지 혹은 resource에서 다른 페이지, resource로 자동으로 이동하는 것입니다.
이때, redirection이 진행될때 3xx
의 status code가 반환됩니다. redirection이 끝난 이후 정상적으로 이동되었다면 2xx
의 status code가 반환될 것 입니다.
이러한 request의 response에서, history attribute를 확인한다면 redirect한 이력을 확인해볼 수도 있습니다.
response.history
redirect가 제대로 진행되고 있는지 확인하기 위해, redirect하지 않고 status code가 3xx
인채로 유지되고 있는 것을 확인하고 싶을 수도 있습니다.
이럴 때는 아래와 같이 allow_redirects=False
설정을 해줍니다.
response = requests.get("{API_EndPoint}", allow_redirects=False)
이렇게하면 redirect해야할 때 처리되지 않고 상태를 유지하게 됩니다.
어떠한 요소가 로딩될때까지 시간이 걸릴 때가 있습니다. 이때 일정시간만큼 request를 대기하는 조건도 있습니다.
request의 파라미터로 timeout=
을 지정해줍니다.
단위는 sec단위입니다.
timeout=1
일때 1초 대기.
POST
request에서는 파일을 보내야할 때도 있습니다.
간단하게 아래와 같이 진행해줍니다.
files = {'file' : open('report.xls, 'rb')}
r = requests.post(url, files=files)
rb
는 read/write 모드입니다.
Access mode | Description |
---|---|
r | only read |
rb | only read binary format |
r+ | read and write |
rb+ | read and write binary format |
w | only write |
wb | only write binary format |
w+ | write and read |
wb+ | write and read binary format |
Ref.
https://developer.mozilla.org/ko/docs/Web/HTTP/Status#%EB%A6%AC%EB%8B%A4%EC%9D%B4%EB%A0%89%EC%85%98_%EB%A9%94%EC%8B%9C%EC%A7%80
https://www.tutorialsteacher.com/python/python-read-write-file