#http #request #guzzle #laravel-5.3
#http #запрос #guzzle #laravel-5.3
Вопрос:
Я использую guzzle http 6 для отправки запроса put на мой сервер. В их документации говорится, что способ отправки запроса ввода с данными выглядит следующим образом
$client->request('PUT', $url, ['body' => 'foo']);
но когда я попытался, я получил эту ошибку
просто чтобы упомянуть, я использую guzzle http на laravel 5.3
Ответ №1:
Вашим третьим аргументом должны быть заголовки. Четвертым должно быть тело.
Ниже приведен пример из http://docs.guzzlephp.org/en/latest/psr7.html ?выделить = поместить
$headers = ['X-Foo' => 'Bar'];
$body = 'hello!';
$request = new Request('PUT', 'http://httpbin.org/put', $headers, $body);
В вашем случае это должно быть:
$client->request('PUT', $url, [], ['body' => 'foo']);
Комментарии:
1. он устраняет предыдущую ошибку, но теперь я столкнулся с другой проблемой. мой запрос теперь поймал исключение. вот мой код —
2. попробуйте{ $response = $client->request($method, $url, [], [‘body’ =>$data ]); $result = json_decode($response->getBody(), true); верните $resu< } catch (RequestException $e) { echoPsr7str($e->GetRequest()); if ($e-> hasResponse()) { возвращает ‘безуспешный’; } }