Php 通过cURL的简单http调用返回false
所以我试图通过HTTPPOST方法来制作这个小API。但我在这里面临一些小问题。 我有一段代码,我正在使用它对domain.com/smsapp/service进行http调用……,但是,我得到的响应如下:-boolean 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 =
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了。