electrum.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:uasf-node-tracker 作者: MorbZ 项目源码 文件源码
def queryJsonRPC(host, port, method):
    # Connect
    if host.endswith('.onion'):
        socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, 'localhost', 9050, True)
        s = socks.socksocket()
    else:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.settimeout(5)
    try:
        s.connect((host, port))
    except:
        print 'Can\'t connect to Electrum'
        return False

    # Send
    request = {
        'method': method,
        'id': 1
    }
    s.sendall(json.dumps(request) + '\n')

    # Receive
    response = ''
    while True:
        try:
            msg = s.recv(1024)
            response += msg
        except socket.timeout:
            print 'Socket timeout'
            break
        except socket.error:
            print 'Socket error'
            break
        else:
            if msg.find('\n') != -1 or len(msg) == 0:
                break
    s.close()

    # Parse
    try:
        result = json.loads(response)
        return result['result']
    except: pass
    return False
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号