mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 13:45:36 -04:00
Merge pull request #1277 from paulromano/download-as-browser
Add option in download() to appear as browser
This commit is contained in:
commit
e05dec4234
1 changed files with 11 additions and 4 deletions
|
|
@ -2,12 +2,12 @@ import hashlib
|
|||
import os.path
|
||||
from pathlib import Path
|
||||
from urllib.parse import urlparse
|
||||
from urllib.request import urlopen
|
||||
from urllib.request import urlopen, Request
|
||||
|
||||
_BLOCK_SIZE = 16384
|
||||
|
||||
|
||||
def download(url, checksum=None, **kwargs):
|
||||
def download(url, checksum=None, as_browser=False, **kwargs):
|
||||
"""Download file from a URL
|
||||
|
||||
Parameters
|
||||
|
|
@ -16,7 +16,10 @@ def download(url, checksum=None, **kwargs):
|
|||
URL from which to download
|
||||
checksum : str or None
|
||||
MD5 checksum to check against
|
||||
Keyword arguments passed to :func:urllib.request.urlopen
|
||||
as_browser : bool
|
||||
Change User-Agent header to appear as a browser
|
||||
kwargs : dict
|
||||
Keyword arguments passed to :func:urllib.request.urlopen
|
||||
|
||||
Returns
|
||||
-------
|
||||
|
|
@ -24,7 +27,11 @@ def download(url, checksum=None, **kwargs):
|
|||
Name of file written locally
|
||||
|
||||
"""
|
||||
req = urlopen(url, **kwargs)
|
||||
if as_browser:
|
||||
page = Request(url, headers={'User-Agent': 'Mozilla/5.0'})
|
||||
else:
|
||||
page = url
|
||||
req = urlopen(page, **kwargs)
|
||||
# Get file size from header
|
||||
file_size = req.length
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue