参数未使用Php传递给curl

时间:2019-04-22 10:16:59

标签: php node.js curl

我正在尝试使用php中的curl从webservice(nodejs)获取数据,但是我得到的结果是“ lang is required”   我尝试使用以下代码,但在错误的地方对我不起作用?   这是我的代码

$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 :(得分:0)

我通常使用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);

效果更好。

答案 1 :(得分:0)

  1. 首先检查请求是否发送帖子字段。
for(let i= assetid ;i<= parseInt(capacitylen);assetid++)
{
    $("#members").append($('<option></option>').attr('value',assetid ).text(assetid);
}

站点:https://httpbin.org/将在发布数据存在的情况下回复发布字段。

  1. 我认为问题可能发生在nodejs端。是否正确检查了发布字段? 根据我的经验,您的代码是正确的。