PHP SMS代码无法在Server中运行

时间:2013-02-23 11:28:40

标签: php sms httprequest sms-gateway

我想从我的网站发送短信。 PHP代码从localhost正常工作,但没有从Web服务器获得任何响应。我错过了在Web服务器中配置的东西吗?请帮我.. 这是下面给出的代码......

<?php

$ch = curl_init("http://priority.muzztech.co.in:8080/sms?");
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=username&password=password&type=0&dlr=1&destination=+91xxxxxxxxxx&source=XXXXXX&message=test");
curl_setopt($ch, CURLOPT_TIMEOUT,60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);

$contents = curl_exec ($ch);
curl_close ($ch);

Print($contents);

/*if(stristr($contents,"Message Submitted")){
$mstatus="SMS send Sucessfully ";}
else {
$mstatus="SMS send Failed";} 
*/

?>

编辑代码

<?php

$ch = curl_init("http://priority.muzztech.co.in:8080/sms?");

curl_setopt($ch, CURLOPT_POST, True);
curl_setopt($ch, CURLOPT_POSTFIELDS,"uusername=username&password=password&type=0&dlr=1&destination=+91xxxxxxxxxx&source=XXXXXX&message=test");
curl_setopt($ch, CURLOPT_TIMEOUT,60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);

$contents = curl_exec ($ch);

var_dump(curl_getinfo($ch));

curl_close ($ch);
Print($contents);
/*if(stristr($contents,"Message Submitted")){
$mstatus="SMS send Sucessfully ";}
else {
$mstatus="SMS send Failed";} 
*/

?>

显示

的页面
<pre>array(20) { 
["url"]=> string(40) "http://priority.muzztech.co.in:8080/sms?" 
["content_type"]=> NULL 
["http_code"]=> int(0) 
["header_size"]=> int(0) 
["request_size"]=> int(0) 
["filetime"]=> int(-1) 
["ssl_verify_result"]=> int(0) 
["redirect_count"]=> int(0) ["total_time"]=> float(21.226878) 
["namelookup_time"]=> float(0.22723) 
["connect_time"]=> float(0) 
["pretransfer_time"]=> float(0) 
["size_upload"]=> float(0) 
["size_download"]=> float(0) 
["speed_download"]=> float(0) 
["speed_upload"]=> float(0)
["download_content_length"]=> float(-1)
["upload_content_length"]=> float(-1)
["starttransfer_time"]=> float(0) 
["redirect_time"]=> float(0) }</pre>

2 个答案:

答案 0 :(得分:0)

在进行CURL HTTP发布时,您需要在CURLOPT_POST, true之前指定CURLOPT_POSTFIELDS, ...,因为CURL的默认http方法是GET。

答案 1 :(得分:0)

我也遇到了同样的问题,并试图用一整天来解决问题。一切都在我的本地主机上运行良好,但是当我把它放在网络服务器上时,这里没什么用。

我使用上面的代码稍加改动,现在它对我有用。我试图用很多组合来解决这个问题。令人惊讶的是,我看到当我使用端口号8080时,这里没有任何工作。但当我删除端口号并尝试再次发送我的短信时,它正在工作。我还从上面的代码中将'uusername'更改为'username'。

最后我的代码是:

<?php

$ch = curl_init("http://priority.muzztech.co.in/sms?");

curl_setopt($ch, CURLOPT_POST, True);
curl_setopt($ch, CURLOPT_POSTFIELDS,"username=username&password=password&type=0&dlr=1&destination=8801XXXXXXXXX&source=XXXXXX&message=test");
//8801XXXXXXXXX mobile number format for Bangladesh
curl_setopt($ch, CURLOPT_TIMEOUT,60);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);

$contents = curl_exec ($ch);

curl_close ($ch);

?>