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

使用urllib库发送GET请求,获取指定网页的内容和响应状态码

发布时间:2024-01-17 06:54:57

urllib是Python的标准库,用于对URL进行编程操作。它包含了多个模块,其中urllib.request模块用于发送HTTP请求并获取响应。

使用urllib库发送GET请求,获取指定网页的内容和响应状态码的步骤如下:

1. 导入urllib.request模块:

import urllib.request

2. 构建请求对象:

url = 'http://example.com'  # 指定要访问的网页地址
req = urllib.request.Request(url)  # 构建请求对象

3. 发送请求并获取响应:

response = urllib.request.urlopen(req)  # 发送请求并获取响应对象

4. 获取响应状态码:

status_code = response.getcode()  # 获取响应的状态码

5. 获取响应内容:

content = response.read()  # 读取响应的内容

下面是一个完整的例子,演示如何使用urllib库发送GET请求,获取指定网页的内容和响应状态码:

import urllib.request

url = 'http://example.com'
req = urllib.request.Request(url)

try:
    response = urllib.request.urlopen(req)
    status_code = response.getcode()
    content = response.read()
    print(f"Status Code: {status_code}")
    print(f"Content:
{content.decode('utf-8')}")
except urllib.error.HTTPError as e:
    print(f"HTTP Error: {e.code}")
except urllib.error.URLError as e:
    print(f"URL Error: {e.reason}")

在这个例子中,我们指定要访问的网页地址为'http://example.com',然后使用urllib.request.urlopen()函数发送请求并获取响应对象。如果请求成功,我们可以通过response.getcode()方法获取响应的状态码,通过response.read()方法获取响应的内容。最后,我们将状态码和内容输出到控制台上。

需要注意的是,urlopen()函数默认使用GET方法发送请求,可以通过构建请求对象并设置其method属性来指定其他HTTP方法。另外,在处理异常时,我们使用urllib.error.HTTPError和urllib.error.URLError来捕获可能发生的错误,并输出错误信息。

以上就是使用urllib库发送GET请求,获取指定网页的内容和响应状态码的详细步骤和示例。通过这个例子,你可以更好地理解urllib库的使用方法,并在实际开发中应用它发送请求和处理响应。