저는 파이썬 코딩에 익숙하지 않습니다. 최근에 API와 JSON에 대해 배웠습니다. 나는 난수 생성기 (https://www.random.org/)와 상호 작용할 수있는 작은 테스트 코드를 작성했다. 그것은 훌륭하게 작동하지만 최근에는 JSONDecodeError를 무작위로 그리고 지속적으로 실행하고 있습니다. 때때로 발생하지만 모든 시간이 아닙니다. 코드를 실행하고 오류를 가져오고 아무 것도 변경하지 않은 다음 10 분 후에 코드를 실행하여 오류가 발생하지 않도록 할 수 있습니다. API가 브라우저를 통해 실행되는지 다시 확인했습니다. 다음은 그 기본이다 :무작위 json.decoder.JSONDecodeError : 기대 값 : 1 행 1 (char 0)
서면과를 통해 실행
PyCharm 커뮤니티 에디션 2016년 3월 1일
빌드 # PC-163.9735.8 년 12 월 14 일에 내장 된 2016
JRE : 1.8.0_112 출시-408-를 오픈 JDK 서버 VM JetBrains의 sro의
import requests
import json
print("Random Number Generator:")
print("========================")
# RANDOM NUMBER GEN
response01 = requests.get(
"https://www.random.org/integers/?num=1&min=1&max=999999999&col=1&base=10&format=plain&rnd=new")
data1 = response01.json()
print(type(data1))
print(data1)
이 코드는 단지 API에서 임의의 숫자를 출력하여 : JVM B6 86
.
Random Number Generator:
========================
Traceback (most recent call last):
File "C:/REDACTED/REDACTED/REDACTED/REDACTED/API Practice 2.py", line 10, in <module>
data1 = response01.json()
File "C:\Program Files (x86)\Python35-32\lib\site-packages\requests\models.py", line 850, in json
return complexjson.loads(self.text, **kwargs)
File "C:\Program Files (x86)\Python35-32\lib\json\__init__.py", line 319, in loads
return _default_decoder.decode(s)
File "C:\Program Files (x86)\Python35-32\lib\json\decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Program Files (x86)\Python35-32\lib\json\decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Process finished with exit code 1
그래서 내가 가지고있는 질문은 두 부분의 일종이다 : 여기에 내가 얻을 임의의 오류입니다.
A)이 오류의 원인은 무엇입니까?
B) 왜 (임의적으로) 발생합니까?
누구든지 제공 할 수있는 정보에 감사드립니다. 다시 말하지만, 저는 파이썬에 대한 NOOB입니다. 제발 나의 무지 함이나 부족함, 교육에 신경 쓰십시오.
참고 : REDACTED
은 단지 하나의 자리 표시 자입니다.
동일한 요청을 발행 할 때 서버로부터 503 응답을 얻고 있습니다. 예 : 'response01.json()'줄을 시도하기 전에 :'print response01.status_code' – abigperson
AH! 그게 내가이 새로운 방법이야! 나는 그것을 간과했다. 나는 곧바로 내 코드가 잘못되었다고 가정했다. 도와 주셔서 정말 감사합니다! –
쿨, 다행스럽게 도울 수있었습니다! – abigperson