Ich versuche, einen twisted HTTPS-Client zu schreiben, der ein Client-Zertifikat für die Authentifizierung verwendet. Dies ist das Beispiel aus der verdrehten Dokumentation für einen einfachen https antrag:Twisted HTTP-Client mit Client-Zertifikat
from __future__ import print_function
from twisted.internet import reactor
from twisted.web.client import Agent
from twisted.web.http_headers import Headers
agent = Agent(reactor)
d = agent.request(
b'GET',
b'https://127.0.0.1:8880/test',
Headers({'User-Agent': ['Twisted Web Client Example']}),
None)
def cbResponse(ignored):
print('Response received')
d.addCallback(cbResponse)
def cbShutdown(ignored):
reactor.stop()
d.addBoth(cbShutdown)
reactor.run()
ich gefunden habe this Erklärung, wie ein Client mit SSL-Zertifikaten zu verwenden. Ich habe jedoch keine Ahnung, wie ich dem Agenten sagen kann, ein Zertifikat für die Authentifizierung zu verwenden. Irgendwelche Ideen?
Wenn ich das versuche, bekomme ich die folgende Fehlermeldung: AttributeError: 'ClientTLSOptions' Objekt hat kein Attribut 'getContext'. Ich habe das schon einmal ausprobiert und es scheint mir, dass die Weitergabe von ClientTLSOptions an den Agenten nicht funktioniert. – megadave
Welche Version von Twisted hast du? –
Ah Ich habe eine Ebene ausgelassen ... Antwort aktualisieren. –