我想抓住一个特定的http错误,而不是整个家庭中的任何一个..我想要做的是 -
import urllib2
try:
urllib2.urlopen("some url")
except urllib2.HTTPError:
<whatever>
Run Code Online (Sandbox Code Playgroud)
但我最终得到的是捕获任何类型的http错误,但我只想抓住指定的网页不存在!! 可能那是HTTP错误404 ..但我不知道如何指定只捕获错误404并让系统运行其他事件的默认处理程序..建议?
urllib.urlretrieve即使远程http服务器上不存在该文件,它也会以静默方式返回,它只是将html页面保存到指定文件中.例如:
urllib.urlretrieve('http://google.com/abc.jpg', 'abc.jpg')
Run Code Online (Sandbox Code Playgroud)
只是默默地返回,即使google.com服务器上不存在abc.jpg,生成abc.jpg的也不是有效的jpg文件,它实际上是一个html页面.我想返回的头文件(一个httplib.HTTPMessage实例)可以用来实际判断检索是否成功,但我找不到任何文档httplib.HTTPMessage.
任何人都可以提供有关此问题的一些信息吗?
我有一个python脚本,它启动一个可下载文件的URL.有没有办法让python使用命令行显示下载进度而不是启动浏览器?