diff options
author | Evgeny Zinoviev <me@ch1p.io> | 2021-03-23 02:25:27 +0300 |
---|---|---|
committer | Evgeny Zinoviev <me@ch1p.io> | 2021-03-23 02:25:27 +0300 |
commit | 848cef4ce06350b5d4f6213a94363b4cebd92068 (patch) | |
tree | 5951a5afc0762f15414142f256a19c1de1943536 | |
parent | d33f28a1bf69861ecdc6c3a97b3d4313dba907f7 (diff) |
test sms sending
-rw-r--r-- | e3372.py | 25 | ||||
-rw-r--r-- | main.py | 12 |
2 files changed, 29 insertions, 8 deletions
@@ -6,11 +6,18 @@ from bs4 import BeautifulSoup from bs4.element import Tag -def build_request(params: dict): +def build_request(params: dict, depth=1): + if depth == 1: + return build_request({ + 'request': params + }, depth=depth+1) + items = [] for key, value in params.items(): + if isinstance(value, dict): + value = build_request(value, depth=depth+1) items.append(f'<{key}>{value}</{key}>') - return '<request>'+''.join(items)+'</request>' + return ''.join(items) def xml2dict(node): @@ -69,8 +76,18 @@ class WebAPI: return sms_list - def send_sms(self): - pass + def send_sms(self, phone: str, content: str): + return self.request('sms/send-sms', build_request({ + 'Index': -1, + 'Phones': { + 'Phone': phone, + }, + 'Sca': '', + 'Content': content, + 'Length': len(content), + 'Reserved': 1, + 'Date': -1 + })) def dataswitch(self, on=True): return self.request('dialup/mobile-dataswitch', data=build_request({ @@ -8,16 +8,20 @@ def main(): parser.add_argument('--ip', default='192.168.8.1', help='Modem IP address') + parser.add_argument('--phone') + parser.add_argument('--content') args = parser.parse_args() client = WebAPI(args.ip) client.auth() - info = client.device_information() - signal = client.device_signal() + # info = client.device_information() + # signal = client.device_signal() - pprint(info) - pprint(signal) + result = client.send_sms(phone=args.phone, + content=args.content) + print(result) + print(type(result)) # messages = client.get_sms() # |