Я пытаюсь использовать Guzzle для отправки запроса:
$client = new \GuzzleHttp\Client(['http_errors' => false]);
$response = $client->request('POST', 'https://myserwer.com/sendQuery', [
'headers' => [
'Authorization' => 'Bearer ' . $access_token,
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
['json' => ["username" => "cxzczxc", "firstName" => "dsadascxzc", "lastName" => "dsadascxzc", "email" => "dsadascxzc@wp.pl","enabled" => "true"]]
]);
$status = $response -> getStatusCode();
if ($status === 201) {
return response()->json("Register user OK", 200);
} else {
return "error_code: " . $status;
}
Я конвертирую JSON, используя этот ответ .Это то же самое в документации :
$response = $client->request('PUT', '/put', ['json' => ['foo' => 'bar']]);
Но ошибка возврата Guzzle: 500:
Ошибка сервера: POST https://myserwer.com/sendQuery
в результатев ответе 500
Internal Server Error
Поэтому я использовал CURL
:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://myserwer.com/sendQuery",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\"username\":\"cxzczxc\",\"firstName\":\"dsadascxzc\",\"lastName\":\"dsadascxzc\",\"email\":\"dsadascxzc@wp.pl\",\"enabled\":\"true\"}",
CURLOPT_HTTPHEADER => array(
"authorization: Bearer " . $access_token,
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
return "error_code: " . $err;
} else {
return response()->json("Register user OK", 200);
}
Этот код работает правильно. Почему Guzzle не может отправить запрос?