Ich habe diese JSON-Daten:
{
userID: 'a7664093-502e-4d2b-bf30-25a2b26d6021',
itemKind: 0,
value: 1,
description: 'Saude',
itemID: '03e76d0a-8bab-11e0-8250-000c29b481aa'
}
und ich muss in json url posten: http: // domain / OnLeagueRest / resources / onleague / Account / CreditAccount
Wie kann ich mit PHP diese Post-Anfrage senden?
JSON.parse
diesen Code jedoch analysieren, schlägt er definitiv fehl.Antworten:
Ohne Verwendung einer externen Abhängigkeit oder Bibliothek:
$ response ist ein Objekt. Auf Eigenschaften kann wie gewohnt zugegriffen werden, zB $ response -> ...
Dabei ist $ data das Array, das Ihre Daten enthält:
Warnung : Dies funktioniert nicht, wenn die Einstellung allow_url_fopen in der php.ini auf Off gesetzt ist.
Wenn Sie für WordPress entwickeln , sollten Sie die bereitgestellten APIs verwenden: https://developer.wordpress.org/plugins/http-api/
quelle
Sie können CURL für diesen Zweck verwenden, siehe Beispielcode:
quelle
file_get_contents
Methode vergleichen, sind sie ungefähr gleich schnell$content = http_build_query( array( 'key1' => 'value1', 'key2' => 'value2', 'json' => json_encode($array_to_become_json) ) );
wo du$array_to_become_json = array(...)
früher vorbereitet hast .benutze CURL luke :) im Ernst, das ist eine der besten Möglichkeiten, es zu tun UND du bekommst die Antwort.
quelle
Beachten Sie, dass die Datei file_get_contents die Verbindung nicht wie gewünscht schließt, wenn ein Server Connection: close im HTTP-Header zurückgibt .
Die CURL-Lösung beendet andererseits die Verbindung, sodass das PHP-Skript nicht durch Warten auf eine Antwort blockiert wird.
quelle