首页
学习
活动
专区
圈层
工具
发布

Post API
EN

Stack Overflow用户
提问于 2016-08-15 18:50:17
回答 2查看 838关注 0票数 0

我正在尝试使用BlockCypher API来接受Ethereum。从他们的文档(https://dev.blockcypher.com/eth/#address-endpoint)中,他们要求发送一个cURL请求来获得一个地址。

我试过这个:-

代码语言:javascript
复制
  <?php
$a = "https://api.blockcypher.com/v1/eth/main/addrs?token=my_token";
$b = file_get_contents($a);
var_dump($b);
?>

这给了我一个错误:-

代码语言:javascript
复制
Warning: file_get_contents(https://api.blockcypher.com/v1/eth/main/addrs?token=my_token): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\wamp\www\x\backend\dev\t.php on line 3

如果我试图在网上直接运行URL,我会得到以下错误:-

代码语言:javascript
复制
Endpoint not found. Please check your URL for typos and make sure you're using the correct  HTTP method (GET, POST, etc).

我做错什么了?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-15 18:54:51

cURL请求是通过cURL库完成的。它们很可能阻止了来自其他客户端的请求,这些客户端没有(通过用户代理字符串)识别为cURL。您使用的是file_get_contents,它更简单,但带有一个"PHP“用户代理字符串。

有关进一步信息,请参见PHP文档中的cURL示例

编辑:,现在在我看来,您看错了API文档。GET方法没有端点/addrs,您链接到的文档“比地址平衡端点返回更多关于地址‘事务的信息,但在过程中牺牲了一定的响应速度。”要生成一个入口,您必须发布到该API的生成-入口端点

票数 0
EN

Stack Overflow用户

发布于 2016-08-15 19:05:24

试试下面的代码,它会起作用的:

代码语言:javascript
复制
<?php

$curl = curl_init();


curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.blockcypher.com/v1/eth/main/addrs/738d145faabb1e00cf5a017588a9c0f998318012",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_SSL_VERIFYHOST =>0,
  CURLOPT_SSL_VERIFYPEER =>0,
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38961123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档