2016-09-13 8 views
0

python3requestsパッケージを使用して単純なロングポーリングを行いました。そこ結果をINGの入力をするとput代わりにprocess場合があり、私はHTTPエラーを上げたいと思いpython3リクエストからhttpエラーを生成します

def longpoll(): 
    session = requests.Session() 
    while True: 
     try: 
      fetched = session.get(MyURL) 
      input = base64.b64decode(fetched.content) 
      output = process(data) 
      session.put(MyURL, data=base64.b64encode(response)) 
     except Exception as e: 
      print(e) 
      time.sleep(10) 

:それは、現在のようになります。高水準のSessionインターフェイスからこれを行う簡単な方法はありますか?または、下位レベルのオブジェクトを使用するためにドリルダウンする必要がありますか?

+0

リモートサーバーも制御できますか? –

+0

はいリモートサーバーの制御もあります。 –

答えて

0

あなたはここで第二コール

を逆にすることもできますサーバーを管理しているので、サーバが出力を取得する例である第二の投票

def longpoll(): 
    session = requests.Session() 
    while True: #I'm guessing that the server does not care that we call him a lot of times ... 
     try: 
      session.post(MyURL, {"ip_address": my_ip_address}) # request work or I'm alive 
      #input = base64.b64decode(fetched.content) 
      #output = process(data) 
      #session.put(MyURL, data=base64.b64encode(response)) 
     except Exception as e: 
      print(e) 
      time.sleep(10) 

@bottle.post("/process") 
def process_new_work(): 
    data = bottle.request.json() 
    output = process(data) #if an error is thrown an HTTP error will be returned by the framework 
    return output 

をreciveするボトルを使用して、この方法または悪いHTTP状態

関連する問題