我有两个工件服务器AF1和AF2用于我的内容
AF1是OPENID认证,AF2是简单uid/pwd认证
我用python脚本从AF2下载文件,现在我想知道这个文件是否存在,我可以用下面的简单函数来完成
我面临的问题是url列表是动态的,并且会从AF1更改为AF2,但是无论哪种情况,返回代码都是200,因为文件都存在于两个服务器中,我想知道是否有办法知道该文件是否可以下载之前,以便我可以处理它
def check_file(url, uid, pwd):
print 'checking ' + url
request = urllib2.Request(url)
base64string = base64.encodestring('%s:%s' % (uid, pwd)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
try:
connection = urllib2.urlopen(request)
#print connection.getcode()
#connection.close()
return 0
except urllib2.HTTPError, e:
#print e.getcode()
return 1
添加了额外的子句来检查文件的大小,这对于AF1服务器来说是失败的,因为它只是说文件存在,但没有提供文件属性的详细信息,可以通过下面的更改来实现这一点
def check_文件(url、uid、pwd):
相关问题 更多 >
编程相关推荐