httplib.HTTPSConnection에서 상속하는 클래스가 있습니다.httplib.HTTP (s) 연결을 상속 할 때 SSL 및 비 SSL 연결을 모두 처리합니다.
class MyConnection(httplib.HTTPSConnection):
def __init__(self, *args, **kw):
httplib.HTTPSConnection.__init__(self,*args, **kw)
...
클래스가 인스턴스화 될 때 SSL 계층을 해제하여 비보안 서버와 통신 할 수 있습니까?
SSL 그래서 다른 해결책이 httplib.HTTPConnection에 httplib.HTTPSConnection에서 상속을 전환하려고하는 것입니다 사용해야하지만, 나 또한 할 방법을 잘 모르겠습니다 경우는 초기화하기 전에 알려진 나는 내 경우
이것은 현명한 방법으로?class Foo:
def doit(self):
print "I'm a foo"
class Bar:
def doit(self):
print "I'm a bar"
def MakeClass(isSecure):
if isSecure:
base = Foo
else:
base = Bar
class Quux(base):
def __init__(self):
print "I am derived from", base
return Quux()
MakeClass(True).doit()
MakeClass(False).doit()
출력 : 당신이 공장 패턴 같은 것을 사용할 수 있습니다 파이썬에서 마지막 단락 당
감사합니다. 또 다시 나는 '슈퍼'를 몰랐다. 이렇게하면 공장 코드에서 파일 전체를 들여 쓰지 않아도됩니다. 이것을 사용합니다. – pkit
@pkit, 항상 도와 줘서 기쁩니다! 'super '는 항상 cfr http://fuhm.net/super-harmful/을주의 깊게 사용해야합니다. 그러나 특수한 __init__을 필요로하는 믹스 인의 경우에는 정말 적합합니다. –
이것을 사용할 때 HTTP (S) Connection .__ init__이 호출되지 않은 것처럼 보입니다. 이 수업 준비에서 뭔가를 놓치고있을 수 있습니까? – pkit