2016-04-11 11 views
0

Mit der Urlib2-Bibliothek und der Funktion add_header kann ich Daten in Python 2.7 authentifizieren und abrufen. Aber da die Bibliothek Urllib2 in Python 3 mehr vorhanden ist, wie füge ich den Header Basic Authentication mit der Bibliothek urllib hinzu?Hinzufügen von Authentifizierungsheadern in Python 3

+0

Tun Sie sich selbst einen Gefallen und Verwendung Anfragen http: // docs.python-requests.org/en/master/api/ –

Antwort

1

Bitte überprüfen Sie add_header Methode von Request-Klasse.

import urllib.request 
req = urllib.request.Request('http://www.example.com/') 
req.add_header('Referer', 'http://www.python.org/') 
r = urllib.request.urlopen(req) 

By the way, empfehle ich Ihnen eine weitere Möglichkeit zu prüfen, mit HTTPBasicAuthHandler:

import urllib.request 
# Create an OpenerDirector with support for Basic HTTP Authentication... 
auth_handler = urllib.request.HTTPBasicAuthHandler() 
auth_handler.add_password(realm='PDQ Application', 
          uri='https://mahler:8092/site-updates.py', 
          user='klem', 
          passwd='kadidd!ehopper') 
opener = urllib.request.build_opener(auth_handler) 
# ...and install it globally so it can be used with urlopen. 
urllib.request.install_opener(opener) 
urllib.request.urlopen('http://www.example.com/login.html') 

(von der gleichen Seite genommen)