简介

在开发网络应用程序时,了解HTTP请求的状态码是非常重要的。HTTP状态码可以告诉我们请求是否成功、是否需要进一步操作等信息。Python作为一种广泛使用的编程语言,提供了多种方法来获取HTTP状态码。本文将介绍一种简单有效的方法,帮助你轻松获取HTTP状态码。

使用Python标准库urllib.request

Python的urllib.request模块提供了发送HTTP请求和接收响应的功能。以下是如何使用该模块获取HTTP状态码的示例:

1. 导入模块

import urllib.request
from urllib.error import HTTPError

2. 发送HTTP请求

url = 'http://example.com'
try:
    response = urllib.request.urlopen(url)
except HTTPError as e:
    print(f'HTTP错误: {e.code}')
    response = None

3. 获取状态码

如果response变量不为None,则表示请求成功,可以使用response.getcode()方法获取状态码。

if response:
    status_code = response.getcode()
    print(f'HTTP状态码: {status_code}')

完整示例

以下是完整的示例代码:

import urllib.request
from urllib.error import HTTPError

url = 'http://example.com'
try:
    response = urllib.request.urlopen(url)
    status_code = response.getcode()
    print(f'HTTP状态码: {status_code}')
except HTTPError as e:
    print(f'HTTP错误: {e.code}')
except Exception as e:
    print(f'发生错误: {e}')

其他方法

除了使用urllib.request模块,Python还提供了其他方法来获取HTTP状态码,例如使用requests库。

使用requests

requests库是一个简单易用的HTTP库,可以轻松获取HTTP状态码。

1. 安装requests

pip install requests

2. 使用requests库获取状态码

import requests

url = 'http://example.com'
try:
    response = requests.get(url)
    status_code = response.status_code
    print(f'HTTP状态码: {status_code}')
except requests.exceptions.RequestException as e:
    print(f'HTTP错误: {e}')

总结

本文介绍了两种在Python中获取HTTP状态码的方法:使用urllib.request模块和requests库。这两种方法都有其优点和适用场景,你可以根据自己的需求选择合适的方法。希望本文能帮助你轻松掌握Python获取HTTP状态码的技巧。