Параметр не передается в curl с использованием Php - PullRequest
1 голос
/ 22 апреля 2019

Я пытаюсь получить данные из веб-сервиса (nodejs), используя curl в php, но я получаю результат "требуется lang" я пытался с помощью следующего кода, но не работает для меня, где я не прав? Вот мой код

$post = ['lang'=> "593f973dea53161779dd5660",'password'=> "amit123d"];
  $ch = curl_init();
  $url="http://xxxxxx:8000/api/employer/login";
  curl_setopt($ch, CURLOPT_URL,$url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  $response = curl_exec($ch);
  $result = json_decode($response);
  echo "<pre>";print_R($result);

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019
  1. Сначала проверьте запрос, отправлять поле сообщения или нет.
$post = ['lang'=> "593f973dea53161779dd5660",'password'=> "amit123d"];
  $ch = curl_init();
  $url="https://httpbin.org/post";
  curl_setopt($ch, CURLOPT_URL,$url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  $response = curl_exec($ch);
  $result = json_decode($response);
  echo "<pre>";print_R($result);

сайт: https://httpbin.org/ ответит на поле сообщения, если данные публикации существуют.

  1. Я думаю, что проблема может возникнуть на стороне nodejs. Правильно ли он проверяет почтовое поле? Исходя из моего опыта, ваш код прав.
0 голосов
/ 22 апреля 2019

Обычно для отправки почтовых переменных я использую: http_build_query .

$url = "http://xxxxxx:8000/api/employer/login";
$post = ['lang'=> "593f973dea53161779dd5660",'password'=> "amit123d"];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false); 
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));

$response = curl_exec($ch);
$result = json_decode($response);
echo "<pre>";print_R($result);

Работает лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...