Сокет для переноса SSL: AttributeError: у объекта 'module' нет атрибута 'wrap_socket' - PullRequest
1 голос
/ 27 января 2011

Я создаю очень простой пример для OSX с python 2.6, но получаю:

Traceback (most recent call last):
  File "ssl.py", line 1, in <module>
    import socket, ssl
  File "/Users/Dennis/ssl.py", line 5, in <module>
    sslSocket = ssl.wrap_socket(s)
AttributeError: 'module' object has no attribute 'wrap_socket'

Код:

import socket, ssl

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('irc.freenode.net', 7000))
sslSocket = ssl.wrap_socket(s)
print repr(sslSocket.server())
print repr(sslSocket.issuer())
sslSocket.write('Hello secure socket\n')
s.close()

Что я делаю ужасно неправильно?

Спасибо!

Денис

Ответы [ 2 ]

18 голосов
/ 27 января 2011

Не называйте ваш сценарий ssl.py, потому что когда вы называете свой сценарий ssl.py и вы делаете import ssl, вы импортируете этот же сценарий.

5 голосов
/ 27 января 2011

Ваш скрипт: ssl.py

Когда вы делаете import ssl, он вызывает себя, и поэтому вы получаете AttributeError

Дайте другое имя вашему сценарию, и он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...