使用httplib库发送带有headers的HTTP请求
发布时间:2024-01-05 09:04:22
使用httplib库发送带有headers的HTTP请求的示例代码如下:
import httplib
# 创建HTTP连接
conn = httplib.HTTPSConnection("www.example.com")
# 设置headers
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.9",
"Referer": "https://www.google.com",
"Connection": "keep-alive"
}
# 发送GET请求
conn.request("GET", "/", headers=headers)
# 获取响应
response = conn.getresponse()
# 打印响应状态码和响应头部
print("Response Status: {} {}".format(response.status, response.reason))
print("Response Headers:")
for header in response.getheaders():
print("{}: {}".format(header[0], header[1]))
# 打印响应内容
print("Response Body:")
print(response.read())
# 关闭连接
conn.close()
在上面的示例中,我们首先创建了一个HTTPSConnection对象来与目标网站建立HTTPS连接。然后,我们定义了一个headers字典,其中包含了一些常见的HTTP请求头部字段,例如"User-Agent"、"Accept"、"Referer"等。接下来,我们调用request方法发送一个GET请求,并在请求中包含了设置好的headers。最后,我们使用getresponse方法获取服务器的响应,并打印出响应的状态码、响应头部和响应内容。
你可以根据需要修改或添加headers字段,以便于适应不同的需求。另外,如果你需要发送POST请求,可以使用request("POST", path, body, headers)方法,并将POST请求的具体数据放入body参数中。
希望以上示例能帮助你对httplib库发送带有headers的HTTP请求有更好的理解。
