卷曲是你所需要的:
例如,我需要把一些变量将消息发送文本电话:
<?php
$phoneNumber = '4045551111';
$message = 'This message was generated by curl and php';
$curlPost = 'pNUMBER=' . urlencode($phoneNumber) . '&MESSAGE=' . urlencode($message) . '&SUBMIT=Send';
// initialize connection
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.webserver.com/sendSMS.php');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
//execute post
$data = curl_exec();
curl_close($ch);
或者您可以通过JSON以正确格式的JSON数据发送数据:
<?php
$data = array("phoneNumber" => "4045551111", "message" => "This message was generated by curl and php");
$data_string = json_encode($data);
// initialize connection
$ch = curl_init('http://www.webserver.com/sendSMS.php');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string))
);
//execute post
$result = curl_exec($ch);
curl_close($ch);
CURLOPT_RETURNTRANSFER
纯粹是这样,来自远程服务器的响应放置在$result
而不是回显。
停止使用'@'来抑制您的错误消息。抑制错误的函数可能是问题,并且你压制的错误会告诉你为什么。 – Sammitch 2014-09-25 16:26:59
我的错误实际上在于代码中的其他地方,但下面的curl方法比我目前的更好。 – Aurora 2014-09-25 16:37:34