我想从我的网站发送短信。 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>
答案 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);
?>