Do HTTP redirects with HEAD too, urllib2 appears to reset them to GET.
git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@1706 9bc8b190-ac0f-0410-8968-dc7d1f502856
This commit is contained in:
parent
e4e259217b
commit
3a35467d64
|
@ -21,6 +21,12 @@ macro_regex = re.compile('%+[{(]?\w+[)}]?')
|
|||
class _HeadRequest(urllib2.Request):
|
||||
def get_method(self):
|
||||
return "HEAD"
|
||||
class _HeadRedirectHandler(urllib2.HTTPRedirectHandler):
|
||||
def redirect_request(*args):
|
||||
res = urllib2.HTTPRedirectHandler.redirect_request(*args)
|
||||
if res:
|
||||
res = _HeadRequest(res.get_full_url())
|
||||
return res
|
||||
|
||||
class AbstractCheck:
|
||||
known_checks = {}
|
||||
|
@ -49,7 +55,8 @@ class AbstractCheck:
|
|||
socket.setdefaulttimeout(self.network_timeout)
|
||||
res = err = None
|
||||
try:
|
||||
res = urllib2.urlopen(_HeadRequest(url))
|
||||
opener = urllib2.build_opener(_HeadRedirectHandler())
|
||||
res = opener.open(_HeadRequest(url))
|
||||
except Exception, e:
|
||||
printWarning(pkg, 'invalid-url', '%s:' % tag, url, e)
|
||||
res and res.close()
|
||||
|
|
Loading…
Reference in New Issue