我正在使用HTTP API向其中一个短信网关提供商发送请求。
但我得到403 Forbidden错误。
Forbidden You don't have permission to access API/WebSMS/Http/v1.0a/index.php on this server.
我的代码: -
$url="http://www.somesite.in/API/WebSMS/Http/v1.0a/index.php?username=".$GLOBALS['smsGatewayUsername']."&password=".$GLOBALS['smsGatewayPassword']."&sender=".$GLOBALS['smsGatewaySenderId']."&to=".$mobileNumber."&message=".$message."&reqid=1&format=text&route_id=".$GLOBALS['smsGatewayRouteId']."&sendondate=".$GLOBALS['dateCustom']."&msgtype=unicode";
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0");
curl_exec ($curl);
curl_close ($curl);
但是,$url
在将警察粘贴到浏览器中时有效。
我在xampp php.ini
中启用了extension=php_curl.dll
答案 0 :(得分:0)
我这样做了并且让代码工作。不是将参数作为URL传递,而是将其作为CURL中的postfield选项传递。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.somesite.in/API/index.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=".$GLOBALS['smsGatewayUsername']."&password=".$GLOBALS['smsGatewayPassword']."&sender=".$GLOBALS['smsGatewaySenderId']."&to=".$mobileNumber."&message=".$message."&reqid=1&format=text&route_id=".$GLOBALS['smsGatewayRouteId']."&sendondate=".$GLOBALS['dateCustom']."&msgtype=unicode");
curl_exec($ch);
curl_close($ch);