在Python中,`urllib2` 模块在Python 3中已经被废弃,取而代之的是`urllib`和`urllib.request`。但为了符合你的要求,并且考虑到可能有用户还在使用Python 2,我将提供一个基于`urllib2`的简单封装示例,用于发送HTTP GET请求。请注意,如果你在使用Python 3,你应该考虑使用`urllib.request`。
import urllib2
def simple_http_get(url):
"""
使用urllib2模块发送简单的HTTP GET请求
参数:
url (str): 要请求的URL地址
返回:
str: 响应的内容
抛出:
urllib2.URLError: 如果发生网络错误
"""
try:
# 发起请求
request = urllib2.Request(url)
response = urllib2.urlopen(request)
# 读取响应内容
return response.read().decode('utf-8') # 假设响应是UTF-8编码
except urllib2.URLError as e:
# 处理请求错误
print("请求错误:", e.reason)
raise # 可以选择重新抛出异常或进行其他处理
# 使用示例
if __name__ == "__main__":
url = "http://example.com"
try:
response = simple_http_get(url)
print(response)
except Exception as e:
print("请求过程中发生错误:", e)
请注意,由于`urllib2`在Python 3中已被移除,如果你在使用Python 3,你应该使用`urllib.request`模块。以下是使用`urllib.request`的类似示例:
from urllib.request import urlopen
from urllib.error import URLError
def simple_http_get(url):
"""
使用urllib.request模块发送简单的HTTP GET请求
参数:
url (str): 要请求的URL地址
返回:
str: 响应的内容
抛出:
URLError: 如果发生网络错误
"""
try:
# 发起请求
with urlopen(url) as response:
# 读取响应内容
return response.read().decode('utf-8') # 假设响应是UTF-8编码
except URLError as e:
# 处理请求错误
print("请求错误:", e.reason)
raise # 可以选择重新抛出异常或进行其他处理
# 使用示例(Python 3)
if __name__ == "__main__":
url = "http://example.com"
try:
response = simple_http_get(url)
print(response)
except Exception as e:
print("请求过程中发生错误:", e)
希望这能满足你的需求!