#!/usr/bin/env python # -*- coding: utf-8 -*- # Free worldwide SMS sending script using Solinked API. import sys import requests forge_user_agent = 'Mozilla/5.0 (X11; Linux i686) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5' script_url = 'http://solinked.com/solinked/sendsms.php' forge_headers = { 'Origin' : 'http://solinked.com', 'Connection' : 'keep-alive', 'User-Agent' : forge_user_agent, 'Content-Type' : 'application/x-www-form-urlencoded', 'Referer' : 'http://solinked.com/', } def sendsms(destphone, smsbody): resp = requests.get('http://solinked.com/') forge_headers['Cookie'] = resp.headers['Cookie'] html = resp.text numberfield_key_pattern = r"' id='no' class='no'" checkfield1_key_pattern = r"' id='on' class='n0'" checkfield2_key_pattern = r'" class="formsend"' numberfield_end_pos = html.find(numberfield_key_pattern) checkfield1_end_pos = html.find(checkfield1_key_pattern) checkfield2_end_pos = html.find(checkfield2_key_pattern) - 41 checkfield2_val_end_pos = html.find(checkfield2_key_pattern) numberfield = html[numberfield_end_pos-32:numberfield_end_pos] checkfield1 = html[checkfield1_end_pos-32:checkfield1_end_pos] checkfield2 = html[checkfield2_end_pos-32:checkfield2_end_pos] checkfield2_val = html[checkfield2_val_end_pos-32:checkfield2_val_end_pos] reqfields = {numberfield : destphone, checkfield1 : '', checkfield2 : checkfield2_val, 'mymessage' : smsbody} print repr(reqfields) resp = requests.post(script_url, reqfields , headers=forge_headers) if __name__ == "__main__": if len(sys.argv) < 3: print "Usage: solinked [num in international format with 00 instead of +] [message]" else: sendsms(sys.argv[1], sys.argv[2]) print "Message sent"