Ich versuche, einen JSON-Aufruf an einen VPS-Server zu tätigen, der meine Brieftasche hostet, und es schlägt mit der folgenden Fehlermeldung fehl:
Warning: fopen(http://user:pass@ip:port): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
in C:\Users\Owner\Desktop\USBWebServer\root\php\jsonRPCClient.php on line 132
Fatal error: Uncaught exception 'Exception' with message 'Unable to connect to http://user:pass@ip:port' in C:\Users\Owner\Desktop\USBWebServer\root\php\jsonRPCClient.php:140
Stack trace:
#0 C:\Users\Owner\Desktop\USBWebServer\root\php\testrpc.php(15): jsonRPCClient- >__call('getinfo', Array)
#1 C:\Users\Owner\Desktop\USBWebServer\root\php\testrpc.php(15): jsonRPCClient- >getinfo()
#2 C:\Users\Owner\Desktop\USBWebServer\root\index.php(154): include('C:\Users\Owner\...')
#3 {main}
thrown in C:\Users\Owner\Desktop\USBWebServer\root\php\jsonRPCClient.php on line 140
Ich habe meine JsonRPCClinet.php-Datei von hier http://jsonrpcphp.org/code.php?file=jsonRPCClient
meine bitcoin.conf-Datei ist wie folgt:
server=1
daemon=1
listen=1
rpcuser=user
rpcpassword=pass
rpctimeout=16
rpcallowip=0.0.0.0
rpcport=8332
Ich bin mir bewusst, dass 0.0.0.0 gefährlich ist, ich werde es ändern, sobald ich die Dinge zum Laufen bringen kann
Ich rufe json-rpc mit diesem PHP-Code auf
<?php
require_once 'jsonRPCClient.php';
/* Configuration variables for the JSON-RPC server */
$rpc_host = 'ip';
$rpc_port = '8332';
$rpc_user = 'user';
$rpc_pass = 'pass';
$btc = new jsonRPCClient('http://' . $rpc_user . ':' . $rpc_pass . '@' . $rpc_host . ':' . $rpc_port);
echo "<pre>\n";
print_r($btc->getinfo()); echo "\n";
echo "Received: ".$btc->getreceivedbylabel("BEkpbpYLpwacchSQFRCL7ZSWw3VwB8k7WN")."\n";
echo "</pre>";
?>
Zusätzlich habe ich Port 8332 auf meinem VPS geöffnet
kann jemand einen Grund sehen, warum dieser Fehler auftritt, würde ich die Hilfe sehr schätzen
Ich habe gerade den Code gelesen, der rpcallowip verarbeitet , und ich kann Ihnen sagen, dass rpcallowip=0.0.0.0
das nicht funktionieren wird.
Wenn Sie von allen Adressen zulassen möchten, sollten Sie verwenden
rpcallowip=0.0.0.0/0
(Seltsamerweise kann ich keinen Code finden, der mit Platzhaltern umgeht. Ich werde dazu ein Problem auf Github eröffnen. Es sieht so aus, als ob entweder die Dokumentation oder der Code falsch ist.)
Bearbeiten: Es stellt sich heraus, dass die Wildcard-Unterstützung entfernt wurde.
$btc->debug = true
in Ihrem Programm; sehen, ob etwas Erhellendes auftaucht.new jsonRPCClient("http://...", true)
Benutzer11221
rpcallowip=*
anstelle von0.0.0.0
.Nick Odell
Nick Odell
Benutzer11221
bitcoind
, es könnte ein Proxy oder sogar eine Firewall sein, die dies zurückgibt,403
wenn Pakete gefiltert werden.