from urllib.request import Request, urlopen
import base64
import logging
import urllib
import urllib.request
import requests
def run(file_path,password):
if file_path:
try:
request = Request(file_path)
base64string = base64.b64encode('{}:{}'.format('', password).encode())
#input_file = tempfile.NamedTemporaryFile()
request.add_header("Authorization", "Basic %s" % base64string)
result = urlopen(request)
print (result)
ur = result.geturl()
a = ur.split("/")[:-1]
print (a)
', '.join(a[0:])
url = '/'.join(a)
print (url)
b = ur + "/download"
filename = "myfile"
input_file = requests.get(b,filename)
except Exception as e:
print(e)
l = run("https://cloud.abc.co.uk/s/523aX3O8B5uOWlP","test123")
print (l)
Это URL https://cloud.abc.co.uk/s/523aX3O8B5uOWlP, который защищен паролем. Я попытался использовать urllib и base64 для аутентификации. Это дает мне https://cloud.abc.co.uk/s/523aX3O8B5uOWlP/authenticate. Этот URL перенаправляет на https://cloud.abc.co.uk/s/523aX3O8B5uOWlP/download, откуда файл может быть загружен.
request = Request(file_path)
base64string = base64.b64encode('{}{}'.format('',password).encode())
request.add_header("Authorization", "Basic %s" % base64string)
result = urlopen(request)
Я хочу загрузить файл в обход учетных данных аутентификации.