AttributeError:'NoneType'对象没有属性'connectSSL'

Anw*_*med 1 python ssl openssl twisted pyqt4

我正在编写一个ssl客户端到我的服务器,它使用python与pyqt4扭曲,我使用QTReactor在PYQT中扭曲但是当我运行代码时出现错误

AttributeError: 'NoneType' object has no attribute 'connectSSL'
Run Code Online (Sandbox Code Playgroud)

我最初的代码是这样的

from OpenSSL import SSL
import sys
from twisted.internet.protocol import ClientFactory
from twisted.protocols.basic import LineReceiver
from twisted.internet import ssl
import qt4reactor

app = QtGui.QApplication(sys.argv)
reactor=qt4reactor.install()
main()
myapp = MainForm()
myapp.show()
reactor.runReturn()
sys.exit(app.exec_())

def main():
    factory = ClientFactory()
    reactor.connectSSL('localhost', 8080, factory, ssl.ClientContextFactory())
    try:
        reactor.run()
    except KeyboardInterrupt:
        reactor.stop()
Run Code Online (Sandbox Code Playgroud)

我运行它时的错误:

Traceback (most recent call last):
  File "client.py", line 51, in <module>
    main()
  File "client.py", line 40, in main
    reactor.connectSSL('localhost', 8080, factory, ssl.ClientContextFactory())
AttributeError: 'NoneType' object has no attribute 'connectSSL'
Run Code Online (Sandbox Code Playgroud)

Dav*_*nan 6

AttributeError:'NoneType'对象没有属性'connectSSL'

是您尝试调用方法时获得的错误消息None.

这行代码

reactor=qt4reactor.install()
Run Code Online (Sandbox Code Playgroud)

是唯一reactor被分配的地方.错误消息表明reactor正在分配值None.

我可以在该主题上找到的所有网络搜索点击都遵循以下模式:

qt4reactor.install(app)
from twisted.internet import reactor
Run Code Online (Sandbox Code Playgroud)

所以我想这就是你的意思.但我确实承认对这些框架一无所知.