0

我无法使用以下代码发送短信,但我可以使用相同的 url 发送短信,同时我将 url($murl) 粘贴到浏览器地址栏中

连接超时,执行时间过长,但没有结果

问题是什么?

$amount="500";
$d="23-03-09";

$mNumber="98689988898";
$mName="TEST";
$mMessage ="\"We have debited Rs.$amount. Your account on $d.  Thank you for your valuable support.";
$u1 = 'http://bulksms.mysmsmantra.com:8080/WebSMS/SMSAPI.jsp?';
$u2= 'username='.urlencode('some').'&password='. urlencode('some').'&sendername='.urlencode('some') .'&mobileno='
. urlencode($mNumber).'&message='.urlencode($mMessage).'&submit=Submit';

$murl=$u1.$u2;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $murl);
//curl_setopt($ch, CURLOPT_HEADER, 1); 
//curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
/*curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $u2);
*/$response = curl_exec($ch);
print "Respons : $response";
curl_close($ch);
4

6 回答 6

1

mysmsmantra 现在可作为 drupal 模块使用,您可以将其与触发器和操作一起使用,该模块可以在http://drupal.org/project/sms_mysmsmantra找到

于 2010-08-31T02:42:06.293 回答
0

file_get_contents如果您不需要服务器端标头答案,也可以使用 $response = ($murl) 省略 curl 。还要检查http_build_query()。

于 2009-03-29T20:55:27.657 回答
0

将您的代码更改为此。应该管用:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $murl);

$ch = curl_init($murl);

您也可以在 curl_init 函数中设置 URL。

于 2009-03-29T05:47:00.867 回答
0

也许您需要设置一个用户代理。您正在使用的服务可能会阻止默认用户代理:

curl_setopt($ch, CURLOPT_USERAGENT, 'SMS Gateway Agent/1.0'); // Pick something creative, or use a browser UA

希望这可以帮助!

于 2009-11-22T21:48:48.990 回答
0

查看症状,我认为这是防火墙/访问的问题。您是否尝试过仅从同一站点获取页面的脚本,只是为了查看没有防火墙/代理设置阻止访问。您可以使用命令行 Web 浏览器(例如 lynx)从您正在运行脚本的服务器访问该站点,以检查服务器是否允许发出请求。

如果您足够游戏,请运行一些数据包嗅探器以查看是否有任何请求数据包从服务器发出。

于 2011-04-19T00:57:24.760 回答
0
<?php
if(isset($_POST['submit'])){
 $message=  rawurlencode($_POST['message']);
$phone=$_POST['phone'];
$url='http://sms.yourdomain.com/httpapi/smsapi?uname=xxxx&password=******&sender=XXXXX&receiver='.$phone.'&route=TA&msgtype=1&sms='.$message;
$ch = curl_init();
$header = array("Content-Type:application/json", "Accept:application/json");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_MAXREDIRS, 2);
curl_setopt($ch, CURLOPT_POST, 1);

// response of the POST request
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$responseBody = json_decode($response);
curl_close($ch);
}
?>
<form action="sms.php" method="post">
Phone: <input type="text" name="phone"><br>
Message: <input type="text" name="message"><br>
<input type="submit" name="submit" value="sent">
</form>
于 2017-05-04T05:03:50.657 回答