Json-Rpc
比特幣 RPC 在 bitcoin-cli 中有效,但在 python-bitcoinrpc 中無效:沒有 JSON 對象
我正在執行一個測試網節點。我可以很好地使用 bitcoin-cli:
>bitcoin-cli.exe getinfo { "version" : 100000, "protocolversion" : 70002, "walletversion" : 60000, [... snipped]
但是當我執行這個 python 程式碼時:
from bitcoinrpc.authproxy import AuthServiceProxy, JSONRPCException import logging rpc_user = "rpcuser" rpc_password = "xxxxx" logging.basicConfig() logging.getLogger("BitcoinRPC").setLevel(logging.DEBUG) rpc_connection = AuthServiceProxy("http://%s:%s@192.168.1.39:8332/" % (rpc_user, rpc_password)) print(rpc_connection.getinfo())
我收到此錯誤:
DEBUG:BitcoinRPC:-1-> getinfo [] Traceback (most recent call last): File "<path>\rawtransactiondemo\raw.py", line 11, in <module> print(rpc_connection.getinfo()) [... snipped] File "C:\Python27\lib\json\decoder.py", line 384, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded
這是我的 bitcoin.conf:
testnet=1 rpcuser=bitcoinrpc rpcpassword=xxxxx daemon=1 rpcport=8332 rpcallowip=192.168.1.39 bind=192.168.1.39
我正在使用python-bitcoinrpc庫。
我添加了一些程式碼來調試比特幣發回的內容 - 結果是 401 錯誤。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <HTML> <HEAD> <TITLE>Error</TITLE> <META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=ISO-8859-1'> </HEAD> <BODY><H1>401 Unauthorized.</H1></BODY> </HTML>
為什麼會觸發這個?如果您查看我的 bitcoin.conf 和我的 python 程式碼,您可以看到使用者名不同(bitcoinrpc 與 rpcuser)。改變它修復了它。
無論如何,如果您收到錯誤
ValueError: No JSON object could be decoded
,這可能是您的問題。