在进行异常处理学习的时候,遇到的问题,本来应该是返回状态码,异常信息和请求头信息的,但是反馈回来是
urllib.error.URLError:
书上给的代码都是这样,想有没有人帮帮我看看
import urllib.request # 导入urllib.request模块
import urllib.error # 导入urllib.error模块
try:
# 向不存在的网络地址发送请求
response = urllib.request.urlopen('http://site2.rjkflm.com:666/123index.html')
print(response.status)
except urllib.error.HTTPError as error: # 捕获异常信息
print('状态码为:',error.code) # 打印状态码
print('异常信息为:',error.reason) # 打印异常原因
print('请求头信息如下:\n',error.headers) # 打印请求头
该回答引用ChatGPT
根据错误信息,这个问题可能是由于连接超时或网络连接不可用导致的。因此,建议您检查以下几个方面:
确保您的网络连接正常并且能够访问请求的地址。
确保请求的地址正确且存在,尝试在浏览器中打开请求的地址并查看是否可以正常访问。
考虑增加超时设置,以便在网络连接不可用时能够更快地失败并抛出异常。
在您的代码中,可以尝试添加以下代码行来设置超时:
response = urllib.request.urlopen('http://site2.rjkflm.com:666/123index.html', timeout=10)
其中,timeout参数设置了超时时间为10秒。您可以根据需要将超时时间设置为适当的值。如果在超时时间内无法连接到请求地址,将引发urllib.error.URLError异常,您可以在except代码块中处理这个异常。
你确定你这个请求的url能访问?
这明显是个内网地址
你自己在iis上部署个网站,网站名称叫site2.rjkflm.com,端口666,放一个html页起名叫123index.html,就能访问了
你在外网想访问这个那肯定访问不到啊,没有一个公网端口会用666的