欢迎访问宙启技术站
智能推送

理解Python中的httplib库及其用处

发布时间:2024-01-05 09:01:00

httplib库是Python中的标准库,用于发送HTTP请求和处理HTTP响应。基于该库,我们可以进行网络通信,获取网页数据,发送POST请求,处理HTTP请求头等。

使用httplib库,我们可以发送GET请求,请求一个网页,并获取其内容。下面是一个使用httplib库发送GET请求的例子:

import httplib

# 创建一个连接到指定主机和端口的HTTP连接对象
conn = httplib.HTTPConnection("www.example.com", 80)

# 发送GET请求,获取网页内容
conn.request("GET", "/index.html")

# 获取响应对象
response = conn.getresponse()

# 获取响应状态码
status = response.status

# 打印响应状态码和内容
print "Status:", status
print "Content:", response.read()

# 关闭连接
conn.close()

以上代码首先创建了一个到指定主机和端口的HTTP连接对象conn。然后,通过conn.request方法发送GET请求,请求了主机的index.html页面。接着,通过conn.getresponse方法获取响应对象response,并通过response.status获取响应状态码。最后,通过response.read方法获取响应内容,并打印出来。

类似地,我们也可以发送POST请求,提交表单数据。下面是一个使用httplib库发送POST请求的例子:

import httplib

# 创建一个连接到指定主机和端口的HTTP连接对象
conn = httplib.HTTPConnection("www.example.com", 80)

# 设置请求头
headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}

# POST请求的参数
params = "username=test&password=test123"

# 发送POST请求,提交表单数据
conn.request("POST", "/login", params, headers)

# 获取响应对象
response = conn.getresponse()

# 获取响应状态码
status = response.status

# 打印响应状态码和内容
print "Status:", status
print "Content:", response.read()

# 关闭连接
conn.close()

以上代码首先创建了一个到指定主机和端口的HTTP连接对象conn。然后,设置了请求头headers,包括Content-type和Accept。接着,设置了POST请求的参数params。通过conn.request方法发送POST请求,提交表单数据。最后,获取响应对象response,并通过response.status获取响应状态码。