Запрос Gzzle POST возвращает исключение сервера (500) - PullRequest
0 голосов
/ 28 апреля 2019

Я пытаюсь опубликовать переменную JSON и строковую переменную через HTTP Guzzle. Это выдает Внутреннюю ошибку сервера, сообщающую о неожиданном ' (что, по-видимому, ').

Вот то, что я пробовал до сих пор -

HTTP-код поглощения

$data = $_GET['data'];
$email = $_GET['email'];

$client = new Client();

$response = $client->request('POST', 'http://someurlhere.com', [
  'data' => $data, // this is json variable
  'email' => $email // this is string variable
]);

if($response = $request->send()){
  // redirect somewhere
}

Я также пытался обернуть переменную JSON в 'json' => ['data' => $data], но ничего желательного не произошло, и ошибка осталась прежней.

Кроме того, переменные не устанавливаются через форму. Поэтому я не завернул их внутрь form_params.

Ответы [ 2 ]

1 голос
/ 29 апреля 2019

Я обнаружил, что я делал не так там.Код идеален.Единственной причиной, вызвавшей эту проблему, были ошибки, которые были у меня на моем другом сервере, где я выполняю запрос POST.

Этот ответ только для моего будущего использования и поможет многим другим, которые могут бытьсталкиваются с той же проблемой или могут столкнуться в будущем.

0 голосов
/ 28 апреля 2019

Я думаю, что вы можете использовать:

 //Guzzle version ~6.3
 $response = (new Client())->request("post", $uri, [
            'json' => $formParams
        ]);

Проверьте ваш ответ $ uri напрямую с почтальоном и разрешите проблему, если это необходимо.

...