如何使用javascript从Bitfinex Web API获取数据

时间:2014-07-22 21:12:28

标签: javascript asp.net-web-api

以下是指向API documentation

的链接

我想通过从头开始创建比特币价格代码来练习网络编程。我的计划是提供一个脚本,使api调用交换来显示数据。这意味着我只需要提供脚本,而不是处理数据服务器端。

我知道编程的一部分是从文档中学习,但来自bitfinex的文档非常稀疏,我找不到教程。

我创建了一个index.html来测试我的javascript。它返回一个控制台错误:

XMLHttpRequest cannot load https://api.bitfinex.com/v1/pubticker/:last_price. 
No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'null' is therefore not allowed access. 

以下是完整的index.html:

<html>

<head>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
</script>
</head>

<body>
<script>
$.getJSON("https://api.bitfinex.com/v1/pubticker/:last_price",
    function(data, status){
      alert("price: "+data +" status: " + status);
    }
)
</script>
Thank you stack exchange
</body>

2 个答案:

答案 0 :(得分:1)

你不能 - 至少,不能使用Javascript。该API未配置为允许来自其他网站上运行的Javascript的调用。您需要从Web服务器上运行的脚本中调用此API。

(另外,对于它的价值,URL中的:symbol令牌应该替换为您尝试查找的自动收报机的符号,例如{{1 BTC / USD兑换价格。)

答案 1 :(得分:0)

如果您运行带有SSL的网络服务器(正如Duskwuff所说,&#34;您需要从Web服务器上运行的脚本调用此API。&#34;)然后您可以将以下文件部署到它:

<?php
$func = $_GET['fn'];
if(in_array($func,array('getBfx')))
{
    $func();
}

function getBfx()
{
    $a = $_GET['api'];
    echo "objData = ".file_get_contents($a);
}
?>

然后,您可以从您部署它的URL中包含脚本,并在其末尾加上?func = getBfx&amp; api = https://api.bitfinex.com/v1 {Whatever}。我没有必要逃避该网址,但你可能会这样做。