Json 파일은 wget으로 받을 수 있게 해 주세요


#1

json 파일이 ascii 또는 비표준 utf-8로 인코딩 해 둔것 같은데요.
인코딩을 utf-8 또는 unicode로 바꿔 주시거나 wget으로 받을 수 있게 인증 해제해 주세요.
아니면 다운로드할 때 content-type이라도 바꿔 주세요. content-type을 json으로 해 두면 브라우저가 디코딩을 해 버립니다.
아무튼 지금은 인코딩 깨져서 나옵니다.


#2

@ahri

사파리에서는 브라우저 상에서 아래와 같이 인코딩을 바꿔서 확인하실 수 있습니다.

인코딩 변환을 지원하지 않는 브라우저에서는 URL 상의 다운로드 주소를 wget, curl 등으로 받으시면 됩니다. 만약 wget, curl 등 사용이 어렵다면 파이썬 코드로도 아래와 같이 받을 수 있습니다.

Python 2.7.10 (default, Aug 17 2018, 17:41:52)
[GCC 4.2.1 Compatible Apple LLVM 10.0.0 (clang-1000.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import json, urllib2
>>> ret = urllib2.urlopen('http://arena.kakaocdn.net/kakao_arena/shopping/cate1.json?TWGServiceId=kakao_arena&Expires=1541767871&Signature=j2uovBDsGcwR/yQhMzBtspXVg3o%3D&AllowedIp=some.thing.ip').read()
>>> j = json.loads(ret)
>>> print j['m'].keys()[0]
주스/기능성/곡물음료
>>> open('cate1.json', 'w').write(json.dumps(j))

#3

두번째 파이썬 코드 방식은 인증을 풀어 주셔야 가능한 방법 같습니다.


#4

같은 머신이라면 유효한 URL이라 가능한 방식인데요. 어떻게 사용하시는건지 좀 더 자세히 설명 가능할까요?


#5

아, 같은 머신에서는 되는 방법인가 보네요. 저는 머신을 다르게 해서 쓰고 있습니다.

그리고 content-type 변경 가능하신가요? 지금은 text/plain으로 되어 있는데
application/octet-stream으로 바꾸면 브라우저가 디코딩하지 않고 다운로드합니다.

아래쪽에 cate1.json 파일 다운로드 시 response를 보면 text/plain으로 되어 있습니다.


#6

content-type 변경은 검토해보겠습니다.

참고로
사파리에서는 파일>별도 저장으로 파일 저장이 가능합니다.
05

크롬에서는 오른쪽 클릭후 다른 이름으로 저장이 가능합니다. 다른 브라우저도 비슷한 메뉴를 제공할 것 같습니다.
49


Cater1.json 파일 다운로드
파일 다운로드 기능 다르게 구현 부탁드립니다