I'm unsure how to do this. One way is:
import urllib.request;
urllib.request.urlretrieve('www.example.com/file.tar', 'file.tar')
Another way would be:
import urllib.request;
#Set as appropriate
userAgent = ....;
req = urllib.request.Request('www.example.com/file.tar', headers={'User-Agent' : userAgent});
response = urllib.request.urlopen(req);
#Save the file
f = open('file.tar', 'wb');
f.write(response.read());
f.close()
I'm not sure which method to use. I'll be downloading many files (with a pattern filename) in a loop. However, I would like to be able to set up a user-agent header. It's not critical but I'd like to.
EDIT: I forgot to mention that I prefer the first method but I don't know how to set the user-agent header with urlretrieve.
urlretrieve
is exactly what the docs say: A higher-level function, to be used simply to copy a network resource to a local file. You don't get much control, like headers, which is why you have to drop down to a request object. You are doing the manual process ofurlretrieve
so it does require a few more lines.