📅  最后修改于: 2023-12-03 15:18:53.111000             🧑  作者: Mango
在HTTP协议中,HTTP响应是从Web服务器返回给客户端的HTTP信息。本文将介绍如何使用Python发送HTTP请求并获取HTTP响应。
我们可以使用Python标准库中的urllib.request
模块发送HTTP请求。
以下是一个简单的示例代码:
import urllib.request
response = urllib.request.urlopen('http://www.example.com/')
print(response.read().decode('utf-8'))
在上面的代码中,我们使用urlopen
函数发送HTTP请求。该函数返回一个类似于文件的对象,我们可以通过read
方法读取HTTP响应内容。
HTTP响应是由HTTP状态码、HTTP头部信息和HTTP正文三部分组成的。
我们可以通过Python代码获取HTTP响应的状态码、HTTP头部信息和HTTP正文。
我们可以使用status
属性获取HTTP响应的状态码。
import urllib.request
response = urllib.request.urlopen('http://www.example.com/')
print(response.status)
我们可以使用getheaders
方法获取HTTP头部信息。
import urllib.request
response = urllib.request.urlopen('http://www.example.com/')
print(response.getheaders())
我们可以使用read
方法获取HTTP正文内容。
import urllib.request
response = urllib.request.urlopen('http://www.example.com/')
print(response.read().decode('utf-8'))
我们可以使用urllib.error.HTTPError
异常处理HTTP错误。
import urllib.request
import urllib.error
try:
response = urllib.request.urlopen('http://www.example.com/')
except urllib.error.HTTPError as e:
print('HTTPError:', e.code, e.reason)
except urllib.error.URLError as e:
print('URLError:', e.reason)
else:
print(response.status)
在上面的代码中,我们首先使用try
语句发送HTTP请求,如果出现HTTP错误,则会抛出HTTPError
异常;如果出现其他错误,则会抛出URLError
异常。如果没有出现错误,则会打印HTTP响应状态码。
在本文中,我们介绍了如何使用Python发送HTTP请求并获取HTTP响应。我们还介绍了如何获取HTTP响应的状态码、HTTP头部信息和HTTP正文,并且讲解了如何处理HTTP错误。在实际项目中,我们可以使用requests
库来发送HTTP请求,它比标准库中的urllib
模块更加方便。