Sto usando Guzzle (v6.1.1) in PHP per fare una richiesta POST a un server. Funziona bene. Aggiungo alcune funzioni di registrazione per registrare ciò che è stato inviato e ricevuto e non riesco a capire come ottenere i dati inviati da Guzzle al server. Posso ottenere la risposta correttamente, ma come faccio a ottenere i dati inviati? (Che sarebbe la stringa JSON.)Come posso ottenere il corpo dei dati SENT con Guzzle PHP?
Ecco la quota di competenza del mio codice:
$client = new GuzzleHttp\Client(['base_uri' => $serviceUrlPayments ]);
try {
$response = $client->request('POST', 'Charge', [
'auth' => [$securenetId, $secureKey],
'json' => [ "amount" => $amount,
"paymentVaultToken" => array(
"customerId" => $customerId,
"paymentMethodId" => $token,
"publicKey" => $publicKey
),
"extendedInformation" => array(
"typeOfGoods" => $typeOfGoods,
"userDefinedFields" => $udfs,
"notes" => $Notes
),
'developerApplication'=> $developerApplication
]
]);
} catch (ServerErrorResponseException $e) {
echo (string) $e->getResponse()->getBody();
}
echo $response->getBody(); // THIS CORRECTLY SHOWS THE SERVER RESPONSE
echo $client->getBody(); // This doesn't work
echo $client->request->getBody(); // nor does this
Qualsiasi aiuto sarebbe apprezzato. Ho provato a cercare in Guzzle codice sorgente per una funzione simile a getBody() che avrebbe funzionato con la richiesta, ma non sono un esperto di PHP quindi non ho trovato nulla di utile. Ho anche cercato molto su Google ma ho trovato solo persone che stavano parlando di ottenere la risposta dal server, che non ho problemi con.
Entrambe queste cause qualcosa va storto e ottengo un 404 dal server. – ruhnet
Ho appena provato (guzzle 6.1), e funziona per me. Puoi pubblicare il tuo codice completo? – Federkun
Ho modificato la mia domanda per mostrare il codice attuale eccetto per le assegnazioni di variabili e tali che non sono rilevanti. Ho provato quello che hai postato aggiungendo tutto il tuo codice middleware prima del mio codice, e aggiungendo il '' gestore '=> $ stack' nel comando di creazione dell'oggetto client. – ruhnet