Этот вызов api отлично работает с помощью Postman (клиент REST), но при выполнении запроса на сервере в моем приложении GAE я в настоящее время получаю следующую ошибку:
Ошибка HTTP-запроса! в C: \ Projects \ app \ file.php в строке 26
- Дизайн дизайна LARARE RESTful API
- Как получить IP-адрес пользователя REST
- Аутентификация токена с использованием PHP для мобильных устройств
- Как принять параметры сортировки и разбивки на страницы во всех URI REST с помощью Slim?
- cURL PHP RESTful service всегда возвращает FALSE
не удалось открыть поток: 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)