Python中如何使用httplib发送带有Headers的HTTP请求
发布时间:2024-01-11 20:19:07
在python中使用httplib发送带有Headers的HTTP请求的步骤如下所示:
1. 导入httplib模块。
import httplib
2. 创建httplib.HTTPConnection对象,并指定要连接的服务器地址和端口。
conn = httplib.HTTPConnection("www.example.com", 80)
3. 定义请求头(headers),包括各种HTTP请求头信息。常用的请求头有User-Agent、Accept、Content-Type等。
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100930 Firefox/4.0b7pre",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Content-Type": "application/x-www-form-urlencoded"
}
4. 发送HTTP请求,调用conn.request方法,传入请求方法(GET或POST)、请求路径和请求体。请求方法和请求路径可以从URL中解析得到。
conn.request("GET", "/index.html", headers=headers)
5. 获取响应,调用conn.getresponse方法。
response = conn.getresponse()
6. 获取响应状态码和响应体。
status = response.status body = response.read()
7. 关闭连接。
conn.close()
下面是一个完整的示例,演示了如何使用httplib发送带有Headers的HTTP请求,并打印出响应的状态码和响应体。
import httplib
# 创建HTTP连接
conn = httplib.HTTPConnection("www.example.com", 80)
# 定义请求头
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b7pre) Gecko/20100930 Firefox/4.0b7pre",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Content-Type": "application/x-www-form-urlencoded"
}
# 发送HTTP请求
conn.request("GET", "/index.html", headers=headers)
# 获取响应
response = conn.getresponse()
# 获取响应状态码
status = response.status
# 获取响应体
body = response.read()
# 打印响应状态码和响应体
print("Status code:", status)
print("Response body:", body)
# 关闭连接
conn.close()
以上示例演示了如何使用httplib发送带有Headers的HTTP请求,并获取响应的状态码和响应体。用户可以根据自己的实际需要修改请求方法、请求路径、请求头等相关参数,以及处理响应的方式。
