Code for Aussie SMS Perl.
This code is taken directly from their PHP example. I would not have programmed it like this, but decided to make the code the same as the PHP code, with just a few Perl specific tweaks (eg. echo => print, $_POST to param). The one big change I made was to use regular expressions instead of splits to arrays, and added in more descriptive comments to explain why things are done.
#!/usr/bin/perl
use LWP::Simple;
use URI::Escape;
use CGI qw/:standard/;
# WARNING - there is no security on input here (to, from, message) - this is a
# demonstration script only.
# Your parameters
my $mobileID = "YourMobileID";
my $password = "YourPassword";
# The API URL
my $baseurl ="http://api.aussiesms.com.au/";
# Variable parameters (in this case from CGI Get or Post or Command line)
my $text = uri_escape(param('message'));
my $to = param('to');
# Send an SMS (every call must have valid ID and Password)
my $url = "$baseurl?sendsms&mobileID=$mobileID&password=$password&to=$to&text=$text&from=$mobileID&msg_type=SMS_TEXT";
my $ret = get($url);
# Check response
if ($ret =~ /MessageID:(\d+)/) {
# Valid response, now check status of SMS message
my $mess_id = $1;
$url = "$baseurl?querymessage&mobileID=$mobileID&password=$password&msgid=$mess_id";
$ret = get($url);
if ($ret =~ /(\d)+:(.+)$/) {
print "Message Status for $mess_id: $1 - $2\n";
}
else {
print "send message failed for $mess_id - $ret\n";
}
}
else {
# Invalid response - assume authentication has failed
print "Authentication failure: $ret\n";
}
A simple HTML form to use with it:
<html>
<body>
<form method="get" action="/cgi-bin/aussiesms.cgi">
To: <input name="to">
Message: <input name="message">
<input type="submit">
</form>
</body>
</html>
