Hallo,
das ist ja das grosse Thema, dass es in Python 2 keinen Support für Zugriff auf https Websiten über einen Proxy gibt.
Geht das denn jetzt in Python 3 ??
SSL Zugriff mit Python https
@blurry333: Ähm, wo hast Du die ”Information” denn her? Ich würde das `requests`-Modul für HTTP(S) empfehlen. Dann hat man bei Python 2 und 3 die gleiche API, die auch etwas hübscher ist als die aus der jeweiligen Standardbibliothek.
Edit: Python 2:
Edit: Python 2:
Code: Alles auswählen
In [40]: c = urllib2.urlopen('https://www.google.de/')
In [41]: d = c.read()
In [42]: len(d)
Out[42]: 17472
Hi,
also urllib2 unterstützt es auf keinen Fall. Und die wollte ich eigentlich verwenden. Ich weiss nicht ob das in Python3 anders ist.
Also in meinem Fall muss ich itunes aufrufen was https verwendet. Ups was ich total vergessen habe der Zugriff erfolgt mit Hilfe eines Proxys der Authentifizierung erwartet. Das ist das entscheidende dabei Sorry
also urllib2 unterstützt es auf keinen Fall. Und die wollte ich eigentlich verwenden. Ich weiss nicht ob das in Python3 anders ist.
Also in meinem Fall muss ich itunes aufrufen was https verwendet. Ups was ich total vergessen habe der Zugriff erfolgt mit Hilfe eines Proxys der Authentifizierung erwartet. Das ist das entscheidende dabei Sorry
@blurry333: Ja die API hat sich geändert, zumindest in soweit als da einiges an Modulen umbenannt/verschoben wurde, damit es ein wenig logischer/geordneter ist. `requests` hat aber auch auch eindeutig die schönere API, also nicht so einen halben Millimeter über der HTTP-Spezifikation, sondern so wie man das als Programmierer gerne hätte, in benutzbar.
Und wo ist da nun genau das Problem? Einfach installieren und fertig. Warum willst du unnötige Umwege machen, wenn es auch einfach geht?blurry333 hat geschrieben:Aber requests ist nicht Teil der Standardbibliothek wohingegen Urllib2 schon ?
Das Leben ist wie ein Tennisball.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Hast du auch nur mal in die Dokumentation von `urllib2` geschaut? https://docs.python.org/2/library/urllib2.html
Ggf musst du einen Opener mit HTTPS- und Proxy-Handler erzeugen.
Da `requests` aber eine reine Python Bibliothek ist verstehe ich nicht warum man nicht gleich `requests` benutzt.
Ggf musst du einen Opener mit HTTPS- und Proxy-Handler erzeugen.
Da `requests` aber eine reine Python Bibliothek ist verstehe ich nicht warum man nicht gleich `requests` benutzt.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
ja ich kenn die Doku aber das ist mir echt zu umfangreich. Du würdest es also mit requests statt mit Urllib2 machen ?
Gibt es da ein verlässliches Code Beispiel . Also habe einen Proxy mit Authentifizierung.
Und kann mir mal einer diese Syntax in der Doku erklären z.B.
OpenerDirector.open(url[, data][, timeout])¶
Was will der denn übergeben bekommen ? Was ist [,data] . Ein array ? Warum das Komma zuerst ? Hab ich noch nie gesehen.
Gibt es da ein verlässliches Code Beispiel . Also habe einen Proxy mit Authentifizierung.
Und kann mir mal einer diese Syntax in der Doku erklären z.B.
OpenerDirector.open(url[, data][, timeout])¶
Was will der denn übergeben bekommen ? Was ist [,data] . Ein array ? Warum das Komma zuerst ? Hab ich noch nie gesehen.
@blurry333: Die eckigen Klammern bedeuten dass das optional ist, das ist keine Python-Syntax, und ein Komma braucht man um Argumente voneinander zu trennen.
Was `data` genau ist/sein muss steht bei `urlopen()`, worauf die Dokumentation von `OpenerDirector.open()` ja verweist.
Was `data` genau ist/sein muss steht bei `urlopen()`, worauf die Dokumentation von `OpenerDirector.open()` ja verweist.
@blurry333: Deine Art zu fragen ist seltsam. Warum hören die sich alle wie Vorwürfe an?
Bei einem optionale Argument ist natürlich das Komma auch optional. Wenn kein zweites Argument angegeben wird, braucht man auch kein Komma.
Bei einem optionale Argument ist natürlich das Komma auch optional. Wenn kein zweites Argument angegeben wird, braucht man auch kein Komma.
@blurry333: Na weil das Komma nur gesetzt wird wenn man auch das Argument angibt. Du schreibst ja beim Aufruf einer Funktion mit einem optionalen zweiten Argument nicht ``spam(42,)`` sondern nur ``spam(42)``, also wird die Signatur auch als ``spam(a [, b])`` angegeben. Denn wenn man `b` beim Aufruf weg lässt, lässt man auch das Komma davor weg.
Ist es aber nicht.blurry333 hat geschrieben:Ich mein dass man ein Komma weglässt wenn der Paramter optional ist sollte ja selbstverständlich sein.
Hier mal ein Beispiel für VBA.
Code: Alles auswählen
Private Sub Test(Optional x As String = "x", Optional y As String = "y", Optional z As String = "z")
Debug.Print x, y, z
End Sub
Public Sub Run()
Test "a", , "b"
End Sub