Wie lade ich. pdf-Datei über https mit python
Ich Schreibe ein python-Skript, speichern die pdf-Datei lokal nach dem format in der URL. für zB.
https://Hostname/saveReport/file_name.pdf #saves the content in PDF file.
Bin ich diese URL durch python-Skript :
import webbrowser
webbrowser.open("https://Hostname/saveReport/file_name.pdf")
Die url enthält viele Bilder und text. Einmal diese URL wird geöffnet, möchte ich zum speichern einer Datei im pdf-format mittels python-Skript.
Dies ist, was ich bisher getan habe.
Code 1:
import requests
url="https://Hostname/saveReport/file_name.pdf" #Note: It's https
r = requests.get(url, auth=('usrname', 'password'), verify=False)
file = open("file_name.pdf", 'w')
file.write(r.read())
file.close()
Code 2:
import urllib2
import ssl
url="https://Hostname/saveReport/file_name.pdf"
context = ssl._create_unverified_context()
response = urllib2.urlopen(url, context=context) #How should i pass authorization details here?
html = response.read()
Im obigen code erhalte ich: urllib2.HTTPError: HTTP Error 401: Unauthorized
Wenn ich Code 2, wie kann ich pass Autorisierung details?
- Wollen Sie eine Lösung, die mit
webbrowser.open
,requests.get
oderurllib2.urlopen
? - Ich habe versucht oben genannten Ansätze. Also Anfragen oder urllib2 alles funktioniert.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, das wird funktionieren,
Einer Weise, die Sie tun können, ist:
Einigen Dateien - zumindest tar-Archiv (oder auch alle anderen Dateien) können Sie die pip:
Aber Sie sollten bestätigen, dass der download erfolgreich war, auf eine andere Weise als pip würde Fehler für alle Dateien, die nicht archiviert mit setup.py daher stderr=PIPE (Oder möglicherweise können Sie bestimmen, ob der download erfolgreich war, durch analysieren der Teilprozess Fehlermeldung).
Können Sie versuchen so etwas wie :
response.text
ist wahrscheinlich eine schlechte Wahl, da es sich um eine Dekodierung Schritt. Vielleicht öffnen Sie die Datei mitwb
und schreibenresponse.content
statt.response.iter_chunk
istrequest
's "bevorzugte und empfohlene Weg, um ein Dokument empfangen": "docs.python-requests.org/en/latest/user/quickstart/...