我正在开发一个程序,该程序将通过浏览器帮助与您的比特币钱包接口。
通过在.conf文件中使用以下命令将比特币客户端设置为服务器,...
server=1
rpcuser=test
rpcpassword=test
rpcallowip=127.0.0.1
它将允许它作为服务器运行,从而让您在其上发布JSON命令。我已经将其与下面的代码一起使用。
$.ajax({
url: 'http://test:[email protected]:29661',
type: 'POST',
contenType: 'application/json',
cache:false,
dataType:"json",
data: '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo", "params": [] }',
timeout: 15000,
})
.done(function(msg){
alert(msg);
});
但是,仅当我在禁用安全功能的情况下渲染Google Chrome时才起作用,从而消除了用户无法接受的CORS安全限制。
由于这是尝试将本地文件系统上的比特币服务器与我正在本地文件系统上的IS运行的文件连接起来,为什么我会收到CORS错误,因为它们应该在同一域中?以及如何解决?
我必须通过file:///访问本地文件以进行测试(据我了解,“可能”对CORS的支持有限)。不过,这也是用户如何使用它的方式。
::已经尝试过的方法::
jsonp-这无法正常工作,因为它只能执行GET请求,而我需要执行POST请求。这是通过在DOM上创建脚本标签并获取数据来实现的,并且需要使用回调函数才能从中获取数据。有点黑客,但是不幸的是,这不起作用,因为我需要发布数据。
easyXDM-尝试过此操作,但失败了,因为它不支持file:///协议:( :(,否则将是我所需要的。
WebSockets-要求服务器执行此操作,我无法更改比特币来源。
服务文件时,服务器标头中的Access-Control-Allow-Origin-如果文件来自服务器,但仅位于本地系统file:///上,这将起作用,这是因为它将访问来自比特币客户端的数据并以图形方式显示信息。
好的,我解决了这个问题。我不得不编辑bitcoinrpc文件,以处理CORS。
http://www.html5rocks.com/zh-CN/tutorials/cors/
上面的链接为我提供了许多有关如何执行此操作的有用信息,尤其是必须分两个阶段进行操作的事实。
有预检请求和预检响应,然后是实际请求和实际响应。
因此,我编辑了bitcoinrpc.cpp文件以处理此问题。如果有人想确切地了解我是如何实现的,我将链接到github源代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句