Wenn Sie mit file_get_contents
Sie für die Anforderung, den Kontext setzen müssen gehen müssen. Anscheinend benötigt diese URL eine user-agent
Zeichenkette in den Kopfzeilen (Ursache, wissen Sie ... Anti-bot-secruity).
Die folgenden Werke:
<?php
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"User-Agent: foo\r\n"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents('http://yiimp.ccminer.org/api/wallet?address=DshDF3zmCX9PUhafTAzxyQidwgdfLYJkBrd', false, $context);
var_dump($file);
// string(137) "{"currency": "DCR", "unsold": 0.030825917365192, "balance": 0.02007306, "unpaid": 0.05089898, "paid24h": 0.05796425, "total": 0.10886323}"
jedoch. Ich schlage dringend cURL
file_get_contents() ist ein einfacher Schraubendreher. Großartig für einfache GET Anfragen, wo der Header, HTTP-Anfrage-Methode, Timeout, Cookiejar, Weiterleitungen und andere wichtige Dinge egal sind. https://stackoverflow.com/a/11064995/2119863
Also bitte file_get_contents stoppen.
<?php
// Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://yiimp.ccminer.org/api/wallet?address=DshDF3zmCX9PUhafTAzxyQidwgdfLYJkBrd',
CURLOPT_USERAGENT => 'Sample cURL Request'
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
var_dump(json_decode($resp));
und Sie erhalten:
object(stdClass)#1 (6) {
["currency"]=>
string(3) "DCR"
["unsold"]=>
float(0.030825917365192)
["balance"]=>
float(0.02007306)
["unpaid"]=>
float(0.05089898)
["paid24h"]=>
float(0.05796425)
["total"]=>
float(0.10886323)
}
Zunächst einmal können Sie nicht echo Objekte – ArtOsi
wenn ich setzen, dass URL im Browser bekam ich einen 404., dass es sein könnte. In PHP können Sie die Antwort vom Server überprüfen, indem Sie den Wert von $ HTTP_Response_header direkt nach dem Abschluss der Anfrage betrachten. Zweitens, wenn Sie json_decode ausführen, wird der JSON-Text in ein PHP-Objekt umgewandelt, das normalerweise nicht korrekt echotiert. Sie müssten also 'var_dump ($ obj);' auf dem Bildschirm sehen. Oder einfach 'echo $ json;' natürlich. – ADyson
@ADyson, manchmal die URL funktioniert nur nicht für bestimmte Leute, für mich funktioniert es immer noch, aber es hat auch nicht eine halbe Stunde alt, versuchen Sie es wieder in einer gewissen Zeit –