#------------------------------------------------------------------------------
# manually download fileUrl then save to fileToSave
def manuallyDownloadFile(fileUrl, fileToSave) :
isDownOK = False;
downloadingFile = '';
try :
if fileUrl :
# 1. find real address
#print "fileUrl=",fileUrl;
resp = urllib2.urlopen(fileUrl, timeout=gConst['defaultTimeout']);
#print "resp=",resp;
realUrl = resp.geturl(); # not same with original file url if redirect
# if url is invalid, then add timeout can avoid dead
respHtml = getUrlRespHtml(realUrl, useGzip=False, timeout=gConst['defaultTimeout']);
isDownOK = saveBinDataToFile(respHtml, fileToSave);
else :
print "Input download file url is NULL";
except urllib.ContentTooShortError(msg) :
isDownOK = False;
except :
isDownOK = False;
return isDownOK;
例 2.22. manuallyDownloadFile的使用范例
#if dstPicFile and downloadFile(curUrl, dstPicFile) :
# urlretrieve in downloadFile is too slow while download QQ Space Picture
# so here use manuallyDownloadFile instead
if dstPicFile and manuallyDownloadFile(curUrl, dstPicFile) :
# replace old url with new url





