code: def download_url(url, save_as, iter_size=_default_iter_size, enable_verbose=True):
      
      msg = Messenger()
      if enable_verbose:
          msg.on()
      else:
          msg.off()
  
      msg.show("Downloading %s from %s..." % (save_as, url))
  
      with open(save_as, "wb") as f:
          response = requests.get(url, stream=True)
  
          if not response.ok:
              print("http get error!")
              return
  
          start_time = time.clock()
          downloaded_size = 0
          for block in response.iter_content(iter_size):
              if not block:
                  break
              f.write(block)
              elapse = datetime.timedelta(seconds=(time.clock() - start_time))
              downloaded_size += sys.getsizeof(block)
              msg.show("    Finished %s, elapse %s." % (
                  string_SizeInBytes(downloaded_size), elapse
              ))
  
      msg.show("    Complete!")
docs: A simple url binary content download function with progress info.
  
      Warning: this function will silently overwrite existing file.