Php 通过cURL的简单http调用返回false

Php 通过cURL的简单http调用返回false,php,curl,Php,Curl,所以我试图通过HTTPPOST方法来制作这个小API。但我在这里面临一些小问题。 我有一段代码,我正在使用它对domain.com/smsapp/service进行http调用……,但是,我得到的响应如下:-boolean false 这里可能出了什么问题?我不知道这里会出什么问题 function sendSMS($message,$number) { $id = "Dogbag"; $service = "sms_api_call_receiver.php"; $userip =

所以我试图通过HTTPPOST方法来制作这个小API。但我在这里面临一些小问题。 我有一段代码,我正在使用它对domain.com/smsapp/service进行http调用……,但是,我得到的响应如下:-boolean false 这里可能出了什么问题?我不知道这里会出什么问题

function sendSMS($message,$number)
{
  $id = "Dogbag";
  $service = "sms_api_call_receiver.php";
  $userip = $_SERVER['REMOTE_ADDR'];
  /*** Build the request parameters ***/
  $request="Send-Sms";
  $u="http://www.domain.com/smsapp/$service?id=$id" . "&message=" . $message . "&number=$number" . "&ip=" . $userip;
  $result = sendPost($u, $request);
  var_dump($u);
  return $result;
}//function

function sendPost($Url, $strRequest)
{
   // Initialisation
   $ch=curl_init();
   // Set parameters
   curl_setopt($ch, CURLOPT_URL, urlencode($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, 2);
   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
   // execute the connexion
   $result = curl_exec($ch);
   // Close it
   curl_close($ch);
   return $result;
}
sms\u api\u call\u receiver.php

if(isset($_GET['message']))
{
    mail("myemail@gmail.com", "got", "message");
}
我既没有收到任何消息,也没有收到任何错误。我只得到布尔值false。 如果您对此有任何建议,我们将不胜感激。

尝试更改此选项: 在函数SendSMS中:-

$u="www.domain.com/smsapp/$service?id=$id" . "&message=" . $message . "&number=$number" . "&ip=" . $userip;
在sendPost函数中:-

curl_setopt($ch, CURLOPT_URL, "http://" . urlencode($Url));

curl错误时返回false。检查
curl\u error($ch)
以获取有关错误的详细信息。@MarcB调查返回此
无法解析主机:(nil);找不到主机
。但是我很确定我的URL是有效的。你的URL编码了整个URL。这将
http://
变成
http%3A%2F%2F
,现在它不再是url了。