Вамп-CRA. Скрипт не подключается к серверу
Проблема в том, что у меня есть JS-скрипт, который должен подключаться к серверу Wamp. Этот скрипт работает и получает нужные мне данные. Теперь задача переписать этот скрипт на python. Я переписал его, но он не работает. Я не могу понять, в чем проблема.
Этот скрипт работает
<html>
<head>
<script>AUTOBAHN_DEBUG = false;</script>
<script src="./autobahn.min.js"></script>
<meta charset="utf-8" />
</head>
<body>
<script>
var wampSession = null;
var wampUser = 'web';
var wampPassword = 'web';
function onChallenge(wampSession, method, extra) {
if (method == 'wampcra') {
return autobahn.auth_cra.sign(wampPassword, extra.challenge);
}
};
function connectionOpen(session) {
wampSession.call('f_all_profitability_updates');
};
var wampConnection = new autobahn.Connection({
url : 'wss://live.prohashing.com:443/ws',
realm : 'mining',
authmethods: ['wampcra'],
authid: 'web',
onchallenge: onChallenge
});
wampConnection.onopen = function (session) {
session.call('f_all_profitability_updates').then(
function (res) {
var a=(res[1].max_btc);
var b=Number(res[4].max_btc);
console.log("Result:",a,b);
}
);
};
wampConnection.open();
</script>
</body>
</html>
Этот скрипт не подключается к серверу. Если бы он был подключен, он бы отображал сообщение "ОК, сессия присоединена!"
import os
import sys
from twisted.internet import reactor
from twisted.internet.defer import inlineCallbacks
from autobahn.twisted.wamp import ApplicationSession
from autobahn.wamp.types import PublishOptions
from autobahn.wamp import auth
class MyFrontendComponent(ApplicationSession):
def onConnect(self):
print("ok, session joined!")
self.join(u"mining", [u"wampcra"], u"web")
def onChallenge(self, challenge):
if challenge.method == u"wampcra":
signature = auth.compute_wcs(u"web",
challenge.extra['challenge'])
return signature
else:
raise Exception("don't know how to handle authmethod {}".format(challenge.method))
def onJoin(self, details):
print("ok, session joined!")
if __name__ == '__main__':
from autobahn.twisted.wamp import ApplicationRunner
runner = ApplicationRunner(url=u'wss://live.prohashing.com:443/ws', realm=u'mining')
runner.run(MyFrontendComponent)