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

Python中http.client模块发送GET请求的示例

发布时间:2024-01-19 21:23:49

在Python中使用http.client模块发送GET请求时,需要先创建一个HTTPConnection对象,然后调用该对象的request方法发送请求。下面是一个示例代码:

import http.client

# 创建HTTPConnection对象
conn = http.client.HTTPConnection("www.example.com")

# 发送GET请求
conn.request("GET", "/")

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

# 打印状态码和响应头
print("Status:", response.status)
print("Headers:", response.getheaders())

# 打印响应体
data = response.read()
print("Body:", data.decode())

# 关闭连接
conn.close()

以上代码中,我们首先通过http.client.HTTPConnection创建了一个HTTPConnection对象,参数是要请求的主机名。然后调用request方法发送GET请求, 个参数是请求方法,这里是"GET";第二个参数是请求的路径,这里是根路径"/"。接下来,我们调用getresponse方法获取响应。

在获取到响应后,我们可以通过response.status获取状态码,response.getheaders获取响应头信息。最后,我们可以通过response.read方法读取响应体,使用decode方法将字节转换为字符串,并打印出来。

最后,我们调用conn.close方法关闭连接。

需要注意的是,以上代码只能使用http协议发送请求。如果要发送https请求,可以使用http.client.HTTPSConnection替代HTTPConnection,代码大致相同。

另外,使用http.client发送GET请求时,除了可以通过路径传递参数外,也可以通过在主机名后增加查询参数直接传递参数,例如"http.client.HTTPConnection("www.example.com?key1=value1&key2=value2")"。

希望以上示例代码能帮助到你!