Wpis z mikrobloga

Nie mogę ogarnąć dodawanie pliku na ftp który jest wyciągany z API

Zapisywanie z API na dysk pc działa

if response.status_code == 200:
with open(filename+'.'+ extension,'wb') as f:
shutil.copyfileobj(response.raw,f)
print('Zdjecie pobrane: ', filename)

Kopiowanie z dysku na ftp działa

try:
with open(pathToFile, "rb") as newfile:
fpt.storbinary('STOR %s' % newfilename, newfile)
index = index + 1
print("Zapisano plik nr " + str(index) + " Z nazwą " + str(newfilename))

Teraz siedzę i nie ogarniam jak połączyć by jednocześnie pobrać z api i zapisać na fpt

#python
  • 10
  • Odpowiedz
@Tank1991:

Zrobiłem cos takiego ale nie trybi


response = requests.get(url, auth=HTTPBasicAuth(username, password), verify=False, stream=True)
image = BytesIO()
image.write(response.content)

try:
with open(image, 'wb') as newfile:
fpt.storbinary('STOR %s' % newfilename, newfile)
index = index + 1
print(f'Zapisano plik1 nr {index} Z nazwą {newfilename'})
  • Odpowiedz
@Tank1991: Kurde faktycznie, chyba działa. Zastanawia mnie jeszcze jedna sprawa, nie mogę zrobić requesta do api bez parametru verify = False

robilem juz update certi ale nie pomogło, teraz za każdym razem mam info ze otwieram połączenie bez weryfikacji
  • Odpowiedz
@Mintaa: albo dales http:// w urlu i api nie ma upgrade do https, albo faktycznie nie ma certa na api xD ew ta "magiczna paczka" z certami o ktorej piszesz, dzis moze lookne jak ta ktorej uzywam sie nazywa
  • Odpowiedz
@Tank1991: Nie no jest https a bez verify = False mam taki błąd
[SSL: CERTIFICATEVERIFYFAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:997)
  • Odpowiedz
@Tank1991: tak to mam zainstalowane i dalej sypie błędem, chyba że muszę zmienić coś w parametrach
response = requests.get(url, auth=HTTPBasicAuth(username, password)).text
  • Odpowiedz