문제상황
requests를 사용해 json 형식의 데이터를 올리고 있습니다.
완료 메세지가 출력되어있어 확인해보니 이상한 점을 발견했습니다.
Status Code는 200, 정상적으로 완료된 상황인데, 요청 실패 메세지가 출력되어 있습니다.
하지만 사용하고 있는 서버에 접속해 확인해보니 데이터가 잘 올라가 있었습니다. (?)

원인 알아보기
먼저 만만한 GPT(4o)에게 물어봅시다.
GPT 답변:
오류 메시지 **Expecting value: line 1 column 1 (char 0)**는 Python의 json.loads() 함수가 JSON 데이터를 파싱할 때 빈 문자열이나 유효하지 않은 JSON을 만났을 때 발생합니다.
주된 발생 원인
- 입력 데이터가 비어 있음:
- json.loads("")처럼 빈 문자열을 전달한 경우.
- 파일을 읽을 때 내용이 없거나 파일 경로가 잘못되어 비어 있는 경우.
- 유효하지 않은 JSON 형식:
- JSON 데이터가 올바르게 닫혀 있지 않거나 문법적으로 잘못된 경우.
- 파일 인코딩 문제:
- JSON 파일이 잘못된 인코딩 형식(예: UTF-8이 아닌 경우)으로 저장되어 있으면 발생.
- 파일 접근 문제:
- 파일이 비어 있거나 접근 권한이 없는 경우, 빈 문자열을 반환할 수 있습니다.
위 네 가지 내용을 확인해보니 모두 해당되는 사항이 아니었습니다.
그래서 성공한 것과 요청 실패한 json 파일 각각의 차이점을 생각해보았는데,,
아무래도 크기 문제였지 않나 싶습니다.
위처럼 요청 실패한 데이터는 상대적으로 용량이 큰 경우들이었습니다.
반대로 성공한 데이터는 작았습니다..
비슷한 경우로는 requests 요청시에 타임아웃 옵션을 추가하면
용량이 큰 데이터에서 오류 메세지는 출력되지만 요청은 성공하는 것을 볼 수 있었는데
비슷한 이유로 생각됩니다.
앞으로도 동일한 형식의 데이터를 계속 다뤄야하기에 당장의 문제는 없어도 해결하고 싶었지만,,
결론적으로는 문제 해결에 실패했다고 봐야겠죠 ( ᐪ ᐪ )
같은 문제를 해결해본 경험이 있으신 분이 있다면 공유 부탁드리며, 포스팅 마무리 하도록 하겠습니다.
도움이 되지는 못했겠지만, 읽어주셔서 감사합니다. (๑ •̀ω•́)۶