只需在cURL中通过GET发布变量

时间:2014-10-08 18:06:55

标签: php curl

所以我想在这里制作一个小API。我将只通过标题发送一些信息(获取参数),我没有使用任何POST参数。 这是我写的代码。

function sendSMS($message, $number)
{
  /*** Connection Params **/
  /*** Build the request parameters ***/
  $service="sms_api_call_receiver.php";
  $number="1212";
  $message="asas";
  $result = sendPost("https://www.domain.com/smsapp/" . $service . "?message=".urlencode($message)."&number=".$number);
  return $result;
}//function

function sendPost($Url)
{
   // Initialisation
   $ch=curl_init();
   // Set parameters
   curl_setopt($ch, CURLOPT_URL, $Url);
   // Return a variable instead of posting it directly
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   // Active the POST method
   //curl_setopt($ch, CURLOPT_POST, 1) ;
   // Request
   //curl_setopt($ch, CURLOPT_POSTFIELDS, $strRequest);
   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
   // execute the connexion
   $result = curl_exec($ch);
   // Close it
   //return curl_error($ch);
   curl_close($ch);
   return $result;
}

在接收器文件中,我有以下代码: -

if(isset($_GET['message']))
{
    return true;
}
else
{
    return "12212";
}

但是当我测试时,我得到的输出是: -

string '' (length=0)

我在这里做错了什么?

疑难解答 我试着看看curl_error是否返回了任何内容。但我什么也看不见。 这里的任何建议都会有所帮助。

2 个答案:

答案 0 :(得分:2)

你确定那里有什么问题吗?如果设置了$_GET['message'](在您的测试示例中),脚本(sms_api_call_receiver.php)将返回true并停止执行。

因为它是HTTP请求,并且响应为空,所以您将在sendSMS()函数字符串中获得0长度的结果。

答案 1 :(得分:1)

要在sendSMS中获取某些内容,您需要在sms_api_call_receiver.php中打印而不是使用return