반응형
How to solve HTTP 429 status code?
서버에 CRONTAB을 걸어놓은 코드가 있었다.
주기적으로 특정 사이트의 내용을 크롤링 하는 코드를
추가했는데, 작동이 안되서 로그를 확인해보니
HTTP 429 RESPONSE를 받았던 것이다.
HTTP 429 Error는 기본적으로 Error가 아니다.
크롤링 하려고 하는 해당 측 서버에서 친절하게 나의
크롤링 코드에 대해서 친절하게 응답을 해주는 것이다.
"당신의 코드가 너무 짧은 시간에 많은 요청을 하고 있으니
자제를 해달라" 머 이런 식이다.
HTTP 429 Error 코드를 해결하는 유일한 방법은
해당측 서버의 요청대로 요청을 천천히 하는 방법이
유일하다. 그리고 이게 도덕적으로 맞는 이야기다.
그럼 얼마만큼 더 기다려려서 request를 보내야 되나?
해당 서버에서 응답 메세지에 친절하게 얼마를더 기다려야 되고,
특정 시간안에 얼마만큼의 request로 제한이 되어 있다고
안내를 하고 있다.
만약 크롤링 코드가 완벽하게 구현되었고, 서버 사이드에서
정상적으로 설정이 완료 되었으면, 해당 서버에서 HTTP429
응답코드를 보낼 때 헤더에 얼마만큼 더 기다려달라라는
코드를 태워서 보내게 된다.
서버에 응답을 요청하는 클라이언트의 입장에서
서버의 응답을 최대한 맞춰서 몇초를 더 기다려서
요청을 하거나, 아니면 한 시간에 정해진 request만
보내는게 정석이다.
HTTP status code 정리
반응형
'Programming' 카테고리의 다른 글
AWS Heroku 웹서비스 어떤 걸로 시작하면 좋을까? (0) | 2022.02.05 |
---|---|
How to adjust speed of scroll in ubuntu linux 우분투 스크롤 휠 속도 조절하는 방법 imwheel 사용방법 (0) | 2022.02.03 |
웹 애플리케이션 서비스 1인 기업의 시작 (0) | 2022.01.30 |
Django Web Application robots.tst 생성&적용 방법 (0) | 2022.01.27 |
Django web application sitemap 생성 & 적용 방법 (0) | 2022.01.27 |
Django Web application Timezone setting (0) | 2022.01.25 |
댓글