如何使用 XMLHttpRequest 进行 zcash rpc 调用

Posted

技术标签:

【中文标题】如何使用 XMLHttpRequest 进行 zcash rpc 调用【英文标题】:how to make a zcash rpc call using XMLHttpRequest 【发布时间】:2021-08-16 18:52:58 【问题描述】:

我一直在尝试我能想到的一切以使请求正常工作,但总是被拒绝连接。 curl 命令有效,但没有任何类似的例子,你有一个用户名和密码,另一个标志加上数据。

这是我目前所拥有的

const xhr = new XMLHttpRequest();

xhr.onload = () => 
    if (xhr.status >= 200 && xhr.status < 300) 

        const response = JSON.parse(xhr.responseText);
        console.log(response['result']);
    
;

const json =  
                "jsonrpc":"1.0",
                "method":"getbalance",
                "params":["*",1],
                "id":"1"
           ;

xhr.open('POST', 'http://zfred:TXlTM2NydFBAc3N3b3Jk@127.0.0.1:8232/');
xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr.setRequestHeader('Content-Type', 'text/plain');
xhr.send("--data-binary",json);

我也试过添加

xhr.setRequestHeader("Authorization", "zfred:TXlTM2NydFBAc3N3b3Jk");
xhr.withCredentials = true;

似乎没有任何效果。我只是被拒绝连接。 但是,这个 curl 命令可以正常工作。

curl --user zfred:TXlTM2NydFBAc3N3b3Jk --data-binary '"jsonrpc": "1.0", "id":"curltest", "method": "getbalance", "params": ["*", 1] ' -H 'content-type: text/plain;' http://127.0.0.1:8232/

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

尝试在您的XMLHttpRequest 中将withCredentials 属性设置为true

【讨论】:

以上是关于如何使用 XMLHttpRequest 进行 zcash rpc 调用的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 XMLHttpRequest 捕获无效 URL 引发的错误

如何使用 Javascript 和 XMLHttpRequest 加载二进制图像数据?

如何使用 Javascript 和 XMLHttpRequest 加载二进制图像数据?

如何使用凭据、HTTP 授权 (CORS) 使 XMLHttpRequest 跨域?

在zc.buildout中,如何安装egg A,然后安装需要egg A才能正确安装的egg B?

TCP_AIO_Server_ZC_02