Плохой запрос с использованием file_get_contents для запроса PUT в PHP

Этот вызов api отлично работает с помощью Postman (клиент REST), но при выполнении запроса на сервере в моем приложении GAE я в настоящее время получаю следующую ошибку:

Ошибка HTTP-запроса! в C: \ Projects \ app \ file.php в строке 26

не удалось открыть поток: HTTP-запрос не удался! HTTP / 1.0 400 Bad Request в C: \ Projects \ app \ file.php в строке 26

Вот код из моего приложения, который вызывает вызов метода api rest / exampleMethod

$dataraw = [ 'email' => 'email@ex.com', 'first_name' => 'firstname', 'last_name' => 'lastname', 'fEmail' => 'email@ex.com', 'message' => 'test' ]; $data = http_build_query ( $dataraw ); $context = [ 'http' => [ 'method' => 'PUT', 'header' => "Authorization: apikeystring\r\n" . "Content-Length: " . strlen($data) . "\r\n" . "Content-Type: application/json\r\n", 'content' => $data, 'proxy' => 'tcp://euproxy.example.com:0000' ] ]; $context = stream_context_create ( $context ); $result = file_get_contents ( $GLOBALS ['REST_API_URL'] . '/exampleMethod', false, $context ); 

В приложении я успешно использовал file_get_contents для запросов GET, но с этим запросом PUT я получаю 400 плохих запросов, которые не поступают из Rest Api.

Измените mb_strlen (serialize ($ dataraw), '8bit') на strlen ($ data)