개발 글에는 추천!
업비트로 request 보낼 때 헤더를 빼고 보내면 서버에서 종종 튕겨냅니다. 아래는 제가 python에서 사용하는 헤더인데, 이걸로 하면 별 문제가 없었습니다.
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
You are viewing a single comment's thread from:
저의 실력을 너무 높게 평가하시는 듯 합니다. headers를 언제 쓰는지 모르는 1인입니다. 사용 예가 있는지요?
아~ python으로 하기 계시는군요. :)
urllib로 바로 사용하시는 것도 좋지만, requests 라이브러리 사용을 추천드립니다. 더 직관적이기 때문입니다.
pip install requests
import requests headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'} res = requests.get('https://crix-api-endpoint.upbit.com/v1/crix/candles/days?code=CRIX.UPBIT.BTC-SBD&count=3', headers=headers) data = res.json()
위 코드 설명을 드리면,
입니다. ^^
헤더는 서버에 요청할 때 부가적인 정보를 담기 위해 사용합니다. 사용한 헤더는 구글 크롬에서 upbit 페이지를 열 때 서버로 보내는 내용과 동일합니다. 이러한 부가정보가 없다면 사용자가 브라우저에서 보낸 것이 아니라, tradingideas님 처럼 봇이 데이터를 긁어가는거라고 간주할 수 있겠지요. 그래서 헤더가 없으면 서버에서 일정 확률로 데이터를 반환하지 않는 것 입니다.
requests 좋은데요? 그리고 headers 정보 감사합니다. 어쩜 @tmkor님은 모르는 것이 없으세요? 회사에서 사랑받으실 듯 합니다.