我发送短信通过php curl发送api。
<?php
$number='XXXXXX';
$message="Hello world";
$url='http://XXx/api/sendmsg.php?user=XXXXX&pass=XXX&sender=SPOTMT&phone='.$number.'&text='.$message.'&priority=ndnd&stype=normal';
echo $url;
echo httpGet($url);
function httpGet($url)
{
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false);
$output=curl_exec($ch);
curl_close($ch);
return $output;
}
我将从api服务收到错误消息,但是当我直接在浏览器上复制此echo $url
的网址时,它将正常工作。
但是当使用curl
时,我将收到错误消息。
这是
发件人ID不存在或待处理或路由无效!
curl
它没有用。
答案 0 :(得分:1)
将用户代理添加到curl请求中,因为后端可能会过滤具有默认curl用户代理的请求。
curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
答案 1 :(得分:0)
使用urlencode()对邮件进行编码,然后再将其提交给CURL