【问题标题】:Python loop until request response code is 200Python循环直到请求响应代码为200
【发布时间】:2019-05-09 18:54:55
【问题描述】:

我正在尝试发出 python 请求并在响应状态代码为 200 时继续执行脚本。否则,继续循环直到我得到 200。

尝试了以下语句,不确定我在这里缺少什么。条件不退出循环。

尝试 1:

while True:
    if (offense_response.status_code == 404):
        time.sleep(5)
        logging.info("Status code is 404, entering sleep for 5 seconds")
        offense_response = requests.get(qradar_offense_url, headers=q_headers, verify=False)
        continue
    if (offense_response.status_code == 200):
        logging.info("Status code is 200, exiting loop")
        exit()

尝试 2:

while (offense_response.status_code != 200):
    if (offense_response.status_code == 404):
        logging.info("Status code is 404, entering sleep for 5 seconds")
        time.sleep(5)
        offense_response = requests.get(qradar_offense_url, headers=q_headers, verify=False)
    else: 
        logging.info("Status code is 200, exiting loop")

尝试 3:

while True:
    if (offense_response.status_code != 200):
        time.sleep(5)
        logging.info("Checking Response Status Code again")
        offense_response = requests.get(qradar_offense_url, headers=q_headers, verify=False)
        if (offense_response.status_code == 200):
            break

【问题讨论】:

  • 我没有看到新的请求。是否需要重试调用并将新值保存到offense_response
  • @karthik 从睡眠中醒来后,您在这些 sn-ps 中的哪个位置更新/重新计算 offence_response.status_code ?
  • 错过了这一点,添加了重试调用。还是没有运气。
  • 为什么在if 中使用括号进行单次比较?
  • 如果你得到一个 404 然后继续尝试相同的 URL,你很可能会继续得到一个 404 并且永远不会完成循环。

标签: python python-requests


【解决方案1】:

你能试试这个吗:

status = True
while status:
    if (offense_response.status_code != 200):
        #check the the status and assign to offense_response.status_code
        logging.info("Status code is not 200, entering sleep for 5 seconds")
        time.sleep(5)
    else:
        logging.info("status code is 200, hence exiting")
        status = False

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-29
    • 1970-01-01
    • 2020-08-07
    • 2010-12-24
    • 2022-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多