Ich versuche, eine POST-Anfrage zu senden, die eine unverarbeitete JSON-Zeichenfolge mit der folgenden Überschrift enthält: Content-Type: application/json
.Verwenden von PHP Guzzle HTTP 6 zum Senden von JSON mit Daten, die bereits codiert sind
Aus bei der Dokumentation sucht, kann ich sehen, dass ich etwas tun kann ...
$data = ['x' => 1, 'y' => 2, 'z' => 3];
$client = new \GuzzleHttp\Client($guzzleConfig);
$options = [
'json' => $data,
];
$client->post('http://example.com', $options);
Mein Problem ist, dass, wenn ich an diesen Punkt zu gelangen, $data
bereits json_encode
‚d gewesen.
Ich habe Folgendes versucht, aber es funktioniert nicht.
$data = json_encode(['x' => 1, 'y' => 2, 'z' => 3]);
$client = new \GuzzleHttp\Client($guzzleConfig);
$options = [
'body' => $data,
'headers' => ['Content-Type' => 'application/json'],
];
$client->post('http://example.com', $options);
Meine Frage ist: kann ich die json
Option mit einem bereits codierten Array verwenden? Oder gibt es eine Möglichkeit für mich, einfach den Content-Type
Header zu setzen?
Ich weiß, dass dies ein wenig lückenhaft ist, aber kann man nicht passieren 'json_decode ($ data)' in sich selbst zurück:/ – Dale
ich hielt, aber dieses Stück Code wird tausende Male ein laufen Tag, und es scheint unnötig, da es einen Weg geben muss, dies zu tun. Alles, was ich tun muss, ist ein Content-Type-Header –