Aug 16
Geek

Many South African Vodacom cell phone users are stuck with a horrid piece of website known as Vodacom4Me. It uses frames and Javascript to ensure some of the slowest load times you can imagine and has a session cookie that expires rather too quickly, leaving you watching page loads most of your day. In addition it is often buggy. The reason many people bear with this awful service is that it lets you send 20 free sms (text) messages a day.

A long time ago this service used to be free and open to anyone, back then we had a cool perl script written by our resident perl guru, Jonathan Hitchcock. However this service soon changed to a login based service and I released a modification of his script. The web team at vodacom then decided to bludgeon the page a bit more and my last attempt has sat idle and not-working.

However, after some considerable effort, I present the new and improved vodasms.

This version retains many of the cool features of the last two, such as a phonebook and logging, but adds a configuration file, better packaging and the ability to create your own time saving vodacom4me forms.

If you would like to get hold of this, download the package from here, extract it, and read the (fairly detailed) README file. Windows users can use it too, with ActivePerl, I haven't tested it though. From extraction to running, it shouldn't take more than 5 minutes to configure.

This essentially lets you send an sms from the command line by typing lines like:

vodasms 0761234567 hello
vodasms Dominic "hello"

What I mean by 'your own time saving vodacom4me forms' are simple HTML recreations of the same forms generated by Vodacom's JavaScript. Check the vodaform/ directory in the package.

If you open the send page in another window/tab, then login via the login page and close it once it starts redirecting you to the horrors of vodacom4me. Next switch to your send page and fill in the number and message and click send. Away it works. I essentially used the WWW::Mechanize modules to do the same thing. It isn't the most elegant of solutions, but after trying to make my perl bot fake entire pages written in Javascript (seriously, no HTML, all JavaScript) I lost it and went for the easy solution.

On the up side, it does provide a neat decoupled intermediary, where you can modify the forms to handle changes they make to vodacom4me, without too much difficulty.

UPDATE: Two fixes were just added. The phonebook search was iterating through the entire phonebook instead of stopping on the first found entry. Also 076 numbers are now supported. I updated the readme to intruct people to send me an sms when they get it working. I like getting sms'es.

UPDATE 21 April 2006: The benefits of the form decoupling in action: Vodacom changed their login form to use SSL, this required a simple change of the HTML instead of the perl script. Also I have a new cell phone number, the example phone book has been updated so that you can all sms me! The package is up at the same place.

Posted by Dominic White

Last modified on 2006-04-21 12:15

0 Trackbacks

  1. No Trackbacks

1 Comments

Display comments as(Linear | Threaded)
  1. Colin Alston says:

    You can do the login and the SMS at the same time actualy - I wrote a similar script a while back.

Add Comment


E-Mail addresses will not be displayed and will only be used for E-Mail notifications

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA