Ich bin schon lange am Suchen und mich durch die Python-Dokus wühlen, aber finde so recht keine Antwort zu meinem Problem, nicht einmal in Python 2.
Mit folgendem Code lese ich den Quelltext eines RSS-Feeds aus:
Code: Alles auswählen
import urllib
url = "http://somesite.de/feed.php"
response = urllib.request.urlopen(url)
print(response.read().decode()
Nun möchte ich aber auf einen RSS-Feed zugreifen, für den ich einen Login, also Username + Password brauche. Der Code für eine normale Webseite, bei der man sich einloggen muss, sieht bei mir so aus:
Code: Alles auswählen
import urllib
import http.cookiejar
url = "http://pagewithlogin.com"
values = {'user' : 'whatever',
'passwrd' : '-------' }
data = urllib.parse.urlencode(values)
cookies = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(
urllib.request.HTTPRedirectHandler(),
urllib.request.HTTPHandler(debuglevel=0),
urllib.request.HTTPSHandler(debuglevel=0),
urllib.request.HTTPCookieProcessor(cookies))
response = opener.open(url, data.encode())
response = urllib.request.urlopen(url)
print(response.read().decode("utf-8", "replace"))
Nur frage ich mich jetzt: Welche Parameter (also values = {"name1" : "bla", "name2" : bla}) muss ich bei einem passwortgeschützen RSS-Feed übergeben oder wie funktioniert es sonst?
(Habe es schon mit vielen Varianten von "User" und "Password" probiert, scheint aber auch nicht zu klappen. Nach meinem Verständnis ist dies auch nur für Elemente auf einer Webseite, also z.B. Textboxen, weswegen der Versuch eh sinnlos war.)