2017-11-16 14 views
0

リクエストgetを使用していて、かなり例外が発生します(json.decoder.JSONDecodeError:Expecting value:1行目(char 0))。私はそれが成功するまでループし、例外タイプを区別しません(まだ)。私のコードは、最初に成功する(ループを終了する)か、無期限にループを続けるかのどちらかです。try-exceptループが最初に成功するか、永遠に実行されます

def loop_json(self,url): 
    result = None 
    print(url) 
    while result == None: 
     try: 
      print('trying') 
      response = requests.get(url).json() 
      result = 1 
     except: 
      time.sleep(3) 
      pass 
    return response 
+2

400は、「不正な要求」である得ればループはまだループしたまま。あなたのリクエストは何らかの形で間違っていることを意味しています。そのリクエストで何回サーバーを破棄しても、それは決して有効ではありません。 – roganjosh

+0

@roganjoshが言ったように、ここに詳しい説明がありますhttps://stackoverflow.com/questions/19671317/400-bad-request-http-error-code-meaning – Nabin

+0

あなたのコードは私のために間違ってループしています。私は関数の一部としてではなく、loop_jsonを呼び出しています(私は自分自身を削除しました)。 [61]において ':loop_json(0、 "ASDF") ASDF ' – Martin

答えて

0

私はここにこれを書いて、本当に長いコメントスレッドにならないようにします。返されるのは本当に400エラーです。私は私が得た応答でimgurのURLを投稿しました。これはたまにしか起こらない - 私は4回走った。最初の3回は200回の応答を得て、すべてがうまくいった.4回目は400回の応答を得た。何も変わっていない、と私は400

https://imgur.com/a/xChgC

関連する問題