是否有更多Pythonic(2.7)方法來檢查服務器是否有一個不包含使用while True
的好status_code(200)?我的代碼片段如下 - 這就是所謂的很多次:在Python 2.7中執行http請求時使用'while True'
import time
import json
from datetime import datetime
import requests
while True:
response = requests.get('http://example.com')
if response.status_code != 200:
print 'sleeping:',str(datetime.now()),response.status_code
print 'sleeping:',str(datetime.now()),response.headers
time.sleep(5.0)
else: break
if "x-mashery-error-code" in response.headers:
return None
return response.json()
編輯:我包含在標題錯誤的「如果」循環。
此代碼是否有用來檢查服務器的運行狀況? – praveen
@praveen不,我需要response.json()中的數據。但服務器有一個油門限制,也可能發送非200代碼。 – philshem
使用'while 1:'如果'True:'就是這個問題。但是真正的問題是什麼?你能寫更多關於這個嗎? – User