我可以使用以下表格发送短信
<form action="http://myserviceprovider/myname/server.php" method="post">
<input type="hidden" value="MyUsername" name="user" />
<input type="hidden" value="MyPassword" name="pass" />
<input type="hidden" value="MyKey" name="sid" />
<input type="hidden" value="12345678" name="sms[0][0]" />
<input type="hidden" value="MyFrist SMS Text" name="sms[0][1]" />
<input type="hidden" value="97654321" name="sms[1][0]" />
<input type="hidden" value="MySecond SMS Text" name="sms[1][1]" />
<input type="submit" />
</form>
现在我正在尝试使用PHP cURL发送短信。我创建了一个包含手机号码和消息的数组:
$sms =array(
array("0" => "12345678", "1" => "MyFrist SMS Text"),
array("0" => "97654321", "1" => "MySecond SMS Text")
);
问题是我无法弄清楚如何使用以下
发送包括用户名,密码和Mykey的值$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($post));
curl_exec($ch);
你能告诉我如何解决这个问题吗?
答案 0 :(得分:1)
据我所知,您希望使用cURL发布到FORM URL,而不是使用该网站。您需要发送其他表单字段以及短信息,即您需要将您的用户名,密码,Sid传递给表单。
示例脚本可能如下所示:
<?php
define('SMS_SERVICE_URL', 'http://myserviceprovider/myname/server.php');
define('USERNAME', 'YOUR_USERNAME_HERE');
define('PASSWORD', 'YOUR_PASSWORD_HERE');
define('KEY', 'YOUR_KEY/SID_HERE');
$sms =array(
array("0" => "12345678", "1" => "MyFrist SMS Text"),
array("0" => "97654321", "1" => "MySecond SMS Text")
);
$post = array(
'user' => USERNAME,
'pass' => PASSWORD,
'sid' => KEY,
'sms' => $sms,
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, SMS_SERVICE_URL);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec ($ch);
curl_close ($ch);
?>
答案 1 :(得分:0)
要使用curl将数据作为POST发送,您需要通过将CURLOPT_POST
设置为true来告诉curl您想要发布。然后,您需要传递数据 - 将其放入像array('user'=>'<USERNAME>', ....);
这样的数组中,并使用CURLOPT_POSTFIELDS
将此数组传递给curl。