Mit der PHP-Guzzle-HTTP-6 zum senden von JSON-Daten, die bereits codiert

Ich bin versucht, senden Sie eine POST-Anforderung enthält einen rohen JSON-string mit der folgenden Kopfzeile: Content-Type: application/json.

Aus der Suche in den docs, ich kann sehen, dass ich etwas tun kann, wie dieses...

$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 zu diesem Zeitpunkt $data bereits json_encode'd....

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 einer bereits-codiert array? Oder gibt es eine Möglichkeit für mich, um einfach die Content-Type header?

  • Ich weiß, das ist ein bisschen schäbig, aber können nicht passieren Sie json_decode($data) in sich selbst zurück :/
  • Ich habe Bedenken, dass, aber dieses Stück code ausgeführt wird, Tausende Male am Tag, und es scheint, un-nötig, da muss es einen Weg geben, dies zu tun. Alles, was ich zu tun ist, legen Sie ein Content-Type-header
InformationsquelleAutor Tom Wright | 2016-04-18
Schreibe einen Kommentar