Python - urllib2>如何逃避HTTP错误

时间:2014-10-31 19:19:29

标签: python urllib2

我正在制作一个python应用程序,我想从网上读取一个文件。 这是我用来读它的代码:

urllib2.urlopen("http://example.com/check.txt").read()

一切都很好但是当我将它指向一个不存在的URL时,它会提供HTTP 404:找不到错误,这是正常的。

问题是该应用程序旨在用于Windows,因此,它将被编译。 在Windows上,当应用程序尝试从不存在的URL获取文件时,应用程序会崩溃并给出错误窗口+它会创建一个包含HTTP 404的日志:找不到错误。

我试图逃避这个错误,但我失败了。这是完整的代码:

import urllib2

file = urllib2.urlopen("http://example.com/check.txt")

try:
    file.read()
except urllib2.URLError:
    print "File Not Found"

else:
    print "File is found"

拜托,如果你知道如何逃避这个错误,请帮助我。

1 个答案:

答案 0 :(得分:0)

你应该在urlopen周围应用try..except,而不是读取。

试试这个

import urllib2
try:
    fh = urllib2.urlopen('http://example.com/check.txt')
    print fh.read()
except urllib2.HTTPError, e:
    print e.code 
except urllib2.URLError, e:
    print e.code