Guys here is code written in php for sending sms through your way2sms account. (UPDATED 13/06/2012)
This Code works fine for your small application where you want to send message through your website. Only thing you needed is an account on WAY2SMS . First create an account, then insert this code in your website and pass 4 argument to the function and just sit back and relax :), this code will do automatically everything for you..enjoy :)
You can download complete source in ZIP :
http://andromeda.nitc.ac.in/~ritesh/SmsApi/SmsApi.zip
Some Points to Remember...
- Some lines are truncated in this webpage so keep track of double quote("") and new lines.
You have to create a normal text file with the name cookie.txt and place it your local host or any folder and set absolute location of cookie file to $cookie_file_path_location variable. like this $cookie_file_path_location ="/var/www/sms/cookie.txt";
find Absolute path using php function realpath("your_cookie_fine_name");
Cookie file must have full READ and WRITE permission. Give 777 permission in Linux and full read write permission in windows.
- Message length must be less than or equal to 140 character.
- By repeating Code for sending SMS in loop, you can send same message for many time without login and logout.
- Do not include '0' or '+91' before mobile number.
Before using this code make sure you have installed PHP CURL libraries libcurl. It is necessary for executing this script.
//Setting up variables
$userID="9876543210";
//10 digit, way2sms id, from which admin will send SMS
$userPWD="123456";
// password for user id
$recerverNO="9876543210";
// recever's Number, who is going to receive sms
$message="Anything that you want to send but less than140 character"
******************** CODE START HERE ********************
function send_sms($userID,$userPWD,$recerverNO,$message)
{
if(strlen($message)>140) // check for message length
{echo "Error : Message length exceeds 140 characters" ; exit(); }
if (!function_exists('curl_init')) // check for curl library installation
{echo "Error : Curl library not installed"; exit(); }
$message_urlencode=rawurlencode($message);
// message converted into URL encoded form
$cookie_file_path ="/var/www/oose/cookie.txt";
// Cookie file location in your machine with full read and write permission
//START OF Code for getting sessionid
$url="http://site5.way2sms.com/content/index.html";
$header_array[0] = "GET /content/index.html HTTP/1.1";
$header_array[1]= "Host: site5.way2sms.com";
$header_array[2]= "User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1";
$header_array[3]= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$header_array[4]= "Accept-Language: en-us,en;q=0.5";
$header_array[5]= "Accept-Encoding: gzip,deflate";
$header_array[6]= "DNT: 1";
$header_array[7] = "Connection: keep-alive";
$ch = curl_init(); //initialise the curl variable
curl_setopt($ch, CURLOPT_URL,$url);
//set curl URL for crawling
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
//set the header for http request to URL
curl_setopt($ch, CURLOPT_REFERER, $reffer);
//set reffer url means it shows from where the request is originated.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//it means after crawling data will return
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
// store the return cookie data in cookie file
$result = curl_exec ($ch); // Execute the curl function
curl_close ($ch);
//END OF Code for getting sessionid
//START OF Code for automatic login and storing cookies
$post_data = "username=".$userID."&password=".$userPWD."&button=Login";
$url = "http://site5.way2sms.com/Login1.action";
$header_array[0]="POST /Login1.action HTTP/1.1";
$header_array[1]="Host: site5.way2sms.com";
$header_array[2]="User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1";
$header_array[3]="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$header_array[4]="Accept-Language: en-us,en;q=0.5";
$header_array[5]="Accept-Encoding: gzip, deflate";
$header_array[6]="DNT: 1";
$header_array[7]="Connection: keep-alive";
$header_array[8]="Content-Type: application/x-www-form-urlencoded";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt($ch,CURLOPT_REFERER,"http://site5.way2sms.com/content/index.html");
$content = curl_exec( $ch );
$response = curl_getinfo( $ch );
curl_close ($ch);
//END OF Code for automatic login and storing cookies
// START OF Code is getting way2sms unique user ID
$url = "http://site5.way2sms.com/jsp/InstantSMS.jsp";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
$content = curl_exec($ch);
curl_close ($ch);
$regex = '/input type="hidden" name="Action" id="Action" value="(.*)"/';
preg_match($regex,$content,$match);
$userID = $match[1];
// END OF Code for getting way2sms unique user ID
// START OF Code for sending SMS to Recever
$post_data = "HiddenAction=instantsms&catnamedis=Birthday&Action=".$userID."&chkall=on&MobNo=".$recerverNO."&textArea=".$message_urlencode;
$url = "http://site5.way2sms.com/quicksms.action";
$header_array[0]="POST /quicksms.action HTTP/1.1";
$header_array[1]="Host: site5.way2sms.com";
$header_array[2]="User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1";
$header_array[3]="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$header_array[4]="Accept-Language: en-us,en;q=0.5";
$header_array[5]="Accept-Encoding: gzip, deflate";
$header_array[6]="DNT: 1";
$header_array[7]="Connection: keep-alive";
$header_array[8]="Content-Type: application/x-www-form-urlencoded";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt($ch,CURLOPT_REFERER,"Referer: http://site5.way2sms.com/jsp/InstantSMS.jsp");
$content = curl_exec( $ch );
$response = curl_getinfo( $ch );
curl_close ($ch);
// END OF Code for sending SMS to Recever
//START OF Code for automatic logout
$url = "http://site5.way2sms.com/jsp/logout.jsp";
$header_array[0]="GET /jsp/logout.jsp HTTP/1.1";
$header_array[1]="Host: site5.way2sms.com";
$header_array[2]="User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:10.0.1) Gecko/20100101 Firefox/10.0.1";
$header_array[3]="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
$header_array[4]="Accept-Language: en-us,en;q=0.5";
$header_array[5]="Accept-Encoding: gzip, deflate";
$header_array[6]="DNT: 1";
$header_array[7]="Connection: keep-alive";
$cookie_file_path ="/var/www/oose/cookie.txt";
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_HTTPHEADER, $header_array);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_AUTOREFERER, true );
curl_setopt($ch,CURLOPT_REFERER,"Referer: http://site5.way2sms.com/jsp/InstantSMS.jsp");
$content = curl_exec( $ch );
$response = curl_getinfo( $ch );
curl_close ($ch);
//END OF Code for automatic logout
}// end function send_sms
******************** CODE END HERE ********************