2017-07-13 4 views
1

私のプログラムが凍結していますが、Poloniexサーバーに接続していないために問題が発生しています。接続が確立されるまで、どのようにしてurlopenリクエストをループし続けますか?ここで接続が確立するまでurlopenを試し続けます - Python 2

は私が持っているものです。

elif(command == "returnOrderBook"): 
    try: 
     ret = urllib2.urlopen(urllib2.Request('https://poloniex.com/public?command=' + command + '&currencyPair=' + str(req['currencyPair']))) 
     return json.loads(ret.read()) 
    except: 
     print('no connection') 
    else: return None 

そしてメインで:

jsn = None 

count = 0; 
for pair in pairs: 

    while(jsn == None): 
     jsn = p.returnMarketTradeHistory (pair) 
     if(jsn == None): 
      print('jsn failed')  
      sleep(0.3) 

私はタイミングをチェックしていると私はPoloniexから余分なデータ要求の制限を破るしていないようです。

+0

私は何かを思いつくことができる場合、私はここに答えを投稿します...... – jamzsabb

答えて

0

これは私のために働いているようです。 IPが禁止されるまでサイトを砲撃しないように待機時間を増やしました。

wait = 60 
    while True: 
     try: 
      html = urlopen('http://www.example.com') 
      wait = 60 
      break 
     except: 
      print('Failed to open page') 
      time.sleep(random.sample(range(wait, wait * 2), 1)[0]) 
      wait = (wait + 300) * 2 
      pass 
関連する問題