dousong1992 2016-08-15 18:50
浏览 29
已采纳

PHP cURL Post API

I'm trying to use BlockCypher API for accepting Ethereum. From their documentation (https://dev.blockcypher.com/eth/#address-endpoint), they ask to send a cURL request to get an address back.

I've tried this :-

  <?php
$a = "https://api.blockcypher.com/v1/eth/main/addrs?token=my_token";
$b = file_get_contents($a);
var_dump($b);
?>

Which gives me this error :-

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

If I try to run the URL directly on web, I get this error :-

Endpoint not found. Please check your URL for typos and make sure you're using the correct  HTTP method (GET, POST, etc).

What wrong am I doing?

  • 写回答

2条回答 默认 最新

  • duanke9540 2016-08-15 18:54
    关注

    A cURL request is done via the cURL library. They are quite probably blocking requests from other clients that do not identify (via User-Agent string) as cURL. You are using file_get_contents, which is easier but carries a "PHP" User-Agent string.

    See cURL examples from the PHP documentation for further information.

    EDIT: Now it seems to me you read the API documentation wrong. There is no endpoint /addrs for the GET method, the documentation you linked to "returns more information about an address’ transactions than the Address Balance Endpoint, but sacrifices some response speed in the process." To generate an adress you must POST to the generate-adress endpoint of that API.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?