Как управлять API с помощью Python, который загружает сжатую папку? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь использовать API, который загружает сжатую папку, содержащую разные изображения.Как я могу использовать этот URL-адрес запроса в Python, чтобы загрузить папку и выбрать путь, по которому я хочу зарегистрировать эту папку?

Запрос URL:

https://monitoring.greisch.com/api/dashboard/zipDashboard/298d5df9-4754-4f70-a228-e24a1bf6ac77/2019-08-18/2019-09-17/hour

Я пробовал это:

import urllib.request

url = 'https://monitoring.greisch.com/api/dashboard/zipDashboard/298d5df9-4754-4f70-a228-e24a1bf6ac77/2019-08-18/2019-09-17/hour'

path ='R:/my/path/'
urllib.request.urlretrieve(url, path + 'Dashboard.zip')
print('file downloaded')

Но я получаю это сообщение об ошибке:

raceback (most recent call last):
  File "C:\Program Files\Python\lib\urllib\request.py", line 1317, in do_open
    encode_chunked=req.has_header('Transfer-encoding'))
  File "C:\Program Files\Python\lib\http\client.py", line 1229, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Program Files\Python\lib\http\client.py", line 1275, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Program Files\Python\lib\http\client.py", line 1224, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Program Files\Python\lib\http\client.py", line 1016, in _send_output
    self.send(msg)
  File "C:\Program Files\Python\lib\http\client.py", line 956, in send
    self.connect()
  File "C:\Program Files\Python\lib\http\client.py", line 1384, in connect
    super().connect()
  File "C:\Program Files\Python\lib\http\client.py", line 928, in connect
    (self.host,self.port), self.timeout, self.source_address)
  File "C:\Program Files\Python\lib\socket.py", line 727, in create_connection
    raise err
  File "C:\Program Files\Python\lib\socket.py", line 716, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée

Но если я получаю доступ к URL-адресу через веб-браузер, он работает, и загрузка сжатой папки запускается автоматически.

1 Ответ

0 голосов
/ 26 сентября 2019

Вам необходимо передать учетные данные на ваш запрос.r=requests.get(url, auth=HTTPBasicAuth(username, password)) Ответ основан на Получение файла с аутентифицированного сайта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...