要修复一个Python脚本,使其在请求离线网站时不会崩溃,首先需要确保脚本能够优雅地处理网络请求失败的情况。以下是一个基本的Python脚本示例,使用了requests
库来请求一个网站,并添加了异常处理来防止脚本在遇到离线网站时崩溃。
import requests
def fetch_website(url):
try:
response = requests.get(url)
response.raise_for_status() # 如果响应状态码不是200,将抛出HTTPError异常
print(response.text)
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")
# 使用示例
fetch_website("http://www.example.com")
try...except
块捕获可能发生的网络请求异常,如连接错误、超时等。requests.get
:这是发起HTTP GET请求的方法。response.raise_for_status()
:这个方法会在HTTP响应状态码不是200时抛出一个异常,这样可以确保即使是2xx以外的成功状态码(如重定向)也能被捕获并处理。requests.exceptions.RequestException
:这是所有requests
库可能抛出的异常的基类。requests.get(url, timeout=5)
设置超时时间,避免长时间等待无响应的网站。通过上述方法,可以有效防止Python脚本在请求离线网站时崩溃,并提供更清晰的错误信息。
领取专属 10元无门槛券
手把手带您无忧上云