Python中httplib库的基本功能和用法
发布时间:2024-01-05 09:01:40
Python的httplib是一个进行HTTP通信的标准库,可以用于发送HTTP请求并获取响应。它提供了一组方法和类来实现HTTP的各种功能,包括发送GET和POST请求、设置请求头、获取服务器响应等。
使用httplib前,首先需要导入httplib模块:
import httplib
然后,可以创建一个HTTP连接:
conn = httplib.HTTPConnection("www.example.com")
其中,www.example.com是目标服务器的域名。也可以使用HTTPS连接,只需要将HTTPConnection替换为HTTPSConnection。
发送GET请求时,需要使用request方法,并指定请求方法为"GET":
conn.request("GET", "/index.html")
发送POST请求时,需要使用request方法,并指定请求方法为"POST",同时需要提供请求正文:
params = urllib.urlencode({'key1': 'value1', 'key2': 'value2'})
headers = {"Content-Type": "application/x-www-form-urlencoded",
"Accept": "text/plain"}
conn.request("POST", "/api", params, headers)
发送请求后,可以使用getresponse方法获取服务器的响应:
response = conn.getresponse()
可以通过response的status属性获取响应状态码:
status = response.status
可以通过response的reason属性获取响应状态的原因:
reason = response.reason
可以通过response的read方法获取响应正文内容:
body = response.read()
此外,还可以使用response的getheaders方法获取响应头:
headers = response.getheaders()
以下是一个完整的示例,演示了使用httplib发送GET请求,并获取服务器的响应:
import httplib
conn = httplib.HTTPConnection("www.example.com")
conn.request("GET", "/index.html")
response = conn.getresponse()
status = response.status
reason = response.reason
body = response.read()
print("Status:", status)
print("Reason:", reason)
print("Body:", body)
conn.close()
以上代码会发送一个GET请求到www.example.com的/index.html路径,并打印出服务器的响应状态码、原因和正文内容。
总结来说,httplib是Python标准库中用于进行HTTP通信的模块。通过创建HTTP连接、发送请求、获取响应等操作,可以实现与HTTP服务器的交互。通过可以设置请求头、获取响应状态码、原因、正文等信息,进行灵活的HTTP通信。
