You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何最简单地检查指定URL的请求响应是否成功

同步URL请求状态检测函数实现

实现依赖

使用Python的requests库完成同步HTTP请求,使用前需先安装依赖:

pip install requests

核心函数代码

import requests
from requests.exceptions import RequestException, Timeout, ConnectionError

def check_url_status(url: str, timeout: int = 5) -> tuple[bool, int|None]:
    """
    同步检测指定URL的请求状态
    :param url: 待检测的目标URL
    :param timeout: 请求超时时间,单位秒,默认5秒
    :return: 第一个返回值为布尔值代表请求是否成功,第二个为HTTP状态码(异常场景返回None)
    """
    try:
        # 用HEAD请求仅获取响应头,减少资源消耗
        response = requests.head(url, timeout=timeout, allow_redirects=True)
        # 2xx状态码均判定为成功,可根据业务需求调整判定逻辑
        return 200 <= response.status_code < 300, response.status_code
    except (Timeout, ConnectionError):
        return False, None
    except RequestException:
        return False, None

使用示例

示例说明:请求https://api.com/articles/1时,响应返回200状态码代表请求成功;返回404状态码则代表出现错误。

# 测试调用
target_url = "https://api.com/articles/1"
is_success, status_code = check_url_status(target_url)

if is_success:
    print(f"请求成功,状态码:{status_code}")
else:
    if status_code:
        print(f"请求失败,状态码:{status_code}")
    else:
        print("请求失败:网络异常/请求超时/域名解析失败")

自定义调整说明

  • 如果需要获取完整响应内容,可将requests.head替换为requests.get
  • 可修改状态码判定规则,比如仅判定200为成功,调整200 <= response.status_code < 300为response.status_code == 200即可
  • 如需禁用自动跳转,将allow_redirects参数设置为False即可

内容的提问来源于stack exchange,提问作者Patryk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:54:04