php - example - guzzle post
¿Cómo configurar el encabezado predeterminado en Guzzle? (4)
Correcto, el método antiguo ha sido marcado como @deprecated. Este es el nuevo método sugerido para configurar encabezados predeterminados para múltiples solicitudes en el cliente.
// enter base url if needed
$url = "";
$headers = array(''X-Foo'' => ''Bar'');
$client = new Guzzle/Http/Client($url, array(
"request.options" => array(
"headers" => $headers
)
));
$baseUrl = ''http://foo'';
$config = array();
$client = new Guzzle/Http/Client($baseUrl, $config);
¿Cuál es la nueva forma de configurar el encabezado predeterminado para Guzzle sin pasarlo como parámetro en cada $client->post($uri, $headers)
?
Hay $client->setDefaultHeaders($headers)
pero está en desuso.
setDefaultHeaders is deprecated. Use the request.options array to specify default request options
Si está utilizando Guzzle v = 6.0. *
$client = new GuzzleHttp/Client([''headers'' => [''X-Foo'' => ''Bar'']]);
Lea el documento , hay más opciones.
esto me funciona si lo haces con drupal:
$url="https://jsonplaceholder.typicode.com/posts";
$client = /Drupal::httpClient();
$post_data = $form_state->cleanValues()->getValues();
$response = $client->request(''POST'', $url, [
''headers'' => [''Content-Type'' => ''application/x-www-form-urlencoded''],
''form_params'' => $post_data,
''verify''=>false,
]);
$body = $response->getBody()->getContents();
$status = $response->getStatusCode();
dsm($body);
dsm($status);
$client = new Guzzle/Http/Client();
// Set a single header using path syntax
$client->setDefaultOption(''headers/X-Foo'', ''Bar'');
// Set all headers
$client->setDefaultOption(''headers'', array(''X-Foo'' => ''Bar''));
Mira aquí:
http://docs.guzzlephp.org/en/latest/http-client/client.html#request-options