python-3.x - 如何在 Python 中为 IRC 机器人配置 SSL?

标签 python-3.x ssl irc

我该如何解决这个错误:

ERROR :NON-SSL command received on SSL-only port. Check your connection settings



我的代码 :
import socket

ircsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server = "server" 
channel = "#channel" 
ircsock.connect((server, 6697)) 
ircsock.send(bytes("USER "+ botnick +" "+ botnick +" "+ botnick + " " + botnick + "n", "UTF-8"))
ircsock.send(bytes("NICK "+ botnick +"n", "UTF-8")) 
ircsock.send(bytes("JOIN "+ channel +"n", "UTF-8")) 
ircmsg = ircsock.recv(4096).decode("UTF-8")
print(ircmsg)

最佳答案

用 SSL 套接字包装连接套接字。
例如:

import ssl
import socket

port = 6697
server = "server"  # Replace me with real address
ctx = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ircsock = ctx.wrap_socket(sock) 
ircsock.connect((server, port))
ircsock.send(bytes("USER "+ botnick +" "+ botnick +" "+ botnick + " " + botnick + "n", "UTF-8"))
...

关于python-3.x - 如何在 Python 中为 IRC 机器人配置 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61931866/

相关文章:

asp.net - 无法启动网站 IIS HRESULT : 0x80070020)

ubuntu - 使端口 443 免费

python - Twitch IRC 机器人不发送消息

android - 无法在 PopupWindow 中为 GridView 执行 OnItemClick

Python IRC-Bot Quakenet 无识别响应

python - 使用已安装的环境将 Keras 模型转换为 coreml 时出现问题

python - 在Python 3中替换字典中的多个值

ssl - 更新别名下的其中一个证书

python - 线性搜索打印列表中存在的值的找到和未找到的值

python - 自动装饰类中的每个实例方法