0
私のWebページからjsonを取得するためにrequests.getを使用しましたが、コードを実行するとエラーが発生しました。 これは私のコードです:Requests.get()からjsonを取得するときにエラーが発生する
def get(t):
while 1:
r = requests.get('http://raspberry.site11.com/controller.php')
while r.status_code != 200:
r = requests.get('http://raspberry.site11.com/controller.php')
d=r.json()
dv1=d["Dv1"]
dv2=d["Dv2"]
dv3=d["Dv3"]
dv4=d["Dv4"]
if dv1=="1":
GPIO.output(6,0)
else:
GPIO.output(6,1)
if dv2=="1":
GPIO.output(13,0)
else:
GPIO.output(13,1)
if dv3=="1":
GPIO.output(19,0)
else:
GPIO.output(19,1)
if dv4=="1":
GPIO.output(26,0)
else:
GPIO.output(26,1)
time.sleep(t)
そして、これは私がrecivedたエラーです。
Unhandled exception in thread started by <function get at 0xb6506930>
Traceback (most recent call last):
File "thread.py", line 33, in get
d=r.json()
File "/usr/lib/python2.7/dist-packages/requests/models.py", line 793, in json
return json.loads(self.text, **kwargs)
File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 369, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 1 column 4 - line 1 column 10 (char 3 - 9)
は、誰もが私を助けるかもしれない、おかげですべてそんなに。
あなたのエンドポイントは、JSONを返していません。しかし、それが何を返すのか見なくても、私たちはもう助けることができません。 –
私のために働いているようですか?おそらく、それはあなたがwhileループで呼び出しているという事実と関係があり、最終的にはあなたのサーバーに負荷がかかりますか?多分あなたはエラーを捕らえ、 'r.content'を記録するべきです。また、エラーが発生したときにサーバーログをチェックしてみてください。最後のコメントは、あなたのウェブページが間違ったcontent-type: 'text/html'を使用していることです。それは 'application/json'であるべきです –
ありがとうございました。私の問題はインターネット接続の品質によって作られたので、別のホストに変更しました。 ^^ –