SSL wrap socket:AttributeError:'module'对象没有属性'wrap_socket'

时间:2011-01-27 15:27:00

标签: python ssl

我正在使用python 2.6在OSX上创建一个非常简单的示例,但我不断得到:

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 个答案:

答案 0 :(得分:18)

不要为您的脚本ssl.py命名,因为当您为脚本ssl.py命名并执行import ssl时,您将导入相同的脚本。

答案 1 :(得分:5)

您的脚本是:ssl.py

当您执行import ssl时,它会调用自己,这就是您获得AttributeError

的原因

为您的脚本指定另一个名称,它应该有效。