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

如何在Python中检查URL连通性并仅输出自定义错误提示?

如何让Requests在任何访问问题时仅打印“Error”?

你的代码只捕获了requests.exceptions.HTTPError,但连接超时、DNS解析失败这类访问问题属于其他异常类型(比如ConnectionError),这些未被捕获的异常会触发默认的错误回溯输出。另外,原代码里没有调用raise_for_status(),即使返回4xx/5xx这类HTTP错误状态码,也不会抛出HTTPError,导致这类错误也无法被捕获。

要实现“任何访问问题都仅打印Error”的需求,可以修改如下:

import requests

url = 'https://www.google.lk'

try:
    page = requests.get(url)
    page.raise_for_status()  # 当响应状态码为4xx/5xx时抛出HTTPError
    print(page.status_code)
except requests.exceptions.RequestException:
    print("Error")

关键修改说明:

  • page.raise_for_status():这个方法会在服务器返回4xx(客户端错误)或5xx(服务器错误)状态码时主动抛出HTTPError,让这类HTTP错误也能被捕获处理。
  • 捕获requests.exceptions.RequestException:这是Requests库所有异常的基类,包含了ConnectionError(连接失败)、Timeout(请求超时)、HTTPError(HTTP错误)等所有与请求相关的异常,确保所有访问问题都能被统一捕获。

这样修改后,无论是连接超时、DNS解析失败,还是返回错误HTTP状态码,程序都会仅打印“Error”,不会输出完整的错误回溯信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:45:38