Bitcoind

curl 在 json-rpc 時返回空輸出

  • September 3, 2018

我無法通過 curl 獲得 JSON-RPC 響應。似乎不接受請求。

我的比特幣.conf

rpcuser=USER
rpcpassword=PASS
server=1
rpcport=9332

執行守護程序

$ bitcoind -conf=~/.bitcoin/bitcoin.conf -daemon
Bitcoin server starting

檢查cli

$ bitcoin-cli -conf=~/.bitcoin/bitcoin.conf getinfo
{
 "version": 140200,
 "protocolversion": 70015,
 "walletversion": 130000,
 "balance": 0.00000000,
 "blocks": 439348,
 "timeoffset": 0,
 "connections": 8,
 "proxy": "",
 "difficulty": 254620187304.0614,
 "testnet": false,
 "keypoololdest": 1500029964,
 "keypoolsize": 100,
 "paytxfee": 0.00000000,
 "relayfee": 0.00001000,
 "errors": ""
}

測試捲曲

$ curl http://localhost:3333
curl: (7) Failed to connect to localhost port 3333: Connection refused

當然,埠是錯誤的:

$ curl http://localhost:9332
JSONRPC server handles only POST requests

發帖

$ curl http://localhost:8332 -H 'content-type:text/plain;' --data-binary ''

輸出總是空的,不管我添加數據還是使用者、密碼。始終為空:

$ curl http://localhost:9332 -H 'content-type:text/plain;' --data-binary ''
$ curl http://localhost:9332 -H 'content-type:text/plain;' --data-binary ''
$ curl http://USER:PASS@localhost:9332 -H 'content-type:text/plain;' --data-binary ''
$ curl http://USER:PASS@localhost:9332 -H 'content-type:text/plain;' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getinfo","params":[]}'
$ curl --user USER:PASS http://localhost:9332 -H 'content-type:text/plain;' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getinfo","params":[]}'

任何想法為什麼會發生這種情況?不知道還能嘗試什麼。

如果您在 Amazon AWS 上,請嘗試以下操作:

setsebool -P httpd_can_network_connect 1

我遇到了同樣的問題,我花了幾個小時才發現伺服器阻塞了連接。我認為這不是問題,因為我的 AWS 安全組允許這樣做。但顯然伺服器直接阻止了它。

對於任何試圖在本地連接到錢包的人:

我設法通過更改rpcallowiprpcconnect127.0.0.1我的實際本地 IP 地址(例如192.168.0.2)讓我的本地工作,似乎通過使用預設localhost127.0.0.1併不總是有效。

引用自:https://bitcoin.stackexchange.com/questions/56665