No Content-Length header, nor length property
Kev Dwyer
kevin.p.dwyer at gmail.com
Wed Jul 8 01:28:07 EDT 2015
zljubisic at gmail.com wrote:
> Hi,
>
> if I put the link in the browser, I will be offered to save the file to
> the local disk.
>
> If I execute these few lines of code, I will get None:
>
> import urllib.request
>
> url = 'http://radio.hrt.hr/prvi-program/aod/download/118467/'
> site = urllib.request.urlopen(url)
> print('File size:', site.length)
>
> Why I can't get the size of this particular file?
> On other servers, the same procedure would return file size in bytes, but
> not for this file?
>
> Does it depend on server itself, or there is a way to get remote file size
> before downloading?
>
> Regards.
Hello,
urlopen returns an HttpResponse
object(https://docs.python.org/3/library/http.client.html#httpresponse-objects). You need to call read() on the return value to get the page
content, or you could consider the getheader method to check for a Content-
Length header.
Hope that helps,
Kev
More information about the Python-list
mailing list