我在python上有这样的代码通过socket连接到一些软件:
import socket, ssl
host = '127.0.0.1'
port = 8963
sert_key = '../keys/key.pem'
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, True)
sock.setsockopt(socket.SOL_TCP, socket.TCP_NODELAY, True)
sock.settimeout(30.5)
sock.connect((host, port))
sock = ssl.wrap_socket(sock, server_side=True, certfile=sert_key,
ssl_version=ssl.PROTOCOL_TLSv1)
cert = "hello"
cert = cert.encode('utf-8')
req = ('%08x'%len(cert))+cert
sock.sendall(req)
print sock.recv(4096)
输出:“好”,所以它的工作。在
我试图在ruby上转换这样的代码,但没有成功:
^{pr2}$但我有这样的错误:
test1.rb:30:在“connect”中:SSL_connect returned=1 errno=0 state=SSLv3 read server hello B:错误的消息类型(OpenSSL::SSL::SSLError)
请帮我把这个代码移植到ruby上。我不明白我错过了什么(代码的不同之处)。在
抱歉,但我想连接的软件暂时不用于共享:(
看来你应该用这样的方法:
编辑:再次更新代码。在
相关问题 更多 >
编程相关推荐