Advertisement
Guest User

Huawei - retrieving SMS count example

a guest
Aug 6th, 2015
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.01 KB | None | 0 0
  1. #!/usr/bin/env python
  2. import requests, xml.etree.ElementTree as ET
  3.  
  4. MODEM_IP = '192.168.1.1'
  5. API_PATH = '/api/'
  6. # change this with your own credentials
  7. USERNAME = 'admin'
  8. PASSWORD = 'password'
  9.  
  10. def login():
  11.         # prepare and send XML data for POST request
  12.         XML = ET.Element('request')
  13.         TAG = ET.SubElement(XML, 'Username')
  14.         TAG.text = USERNAME
  15.         TAG = ET.SubElement(XML, 'Password')
  16.         TAG.text = PASSWORD.encode('base64')[:-1]
  17.         REQUEST = '<?xml version="1.0" encoding="UTF-8"?>{0}'.format(ET.tostring(XML, 'utf-8'))
  18.         print '[+] POST login credentials\n{0}\n'.format(REQUEST)
  19.         r = requests.post('http://'+MODEM_IP+API_PATH+'user/login', data=REQUEST)
  20.         # parse response and check if login succeeded or failed
  21.         print '[+] RESPONSE from modem\n{0}\n'.format(r.text)
  22.         XML = ET.fromstring(r.text)
  23.         if XML.text == 'OK':
  24.                 return 1
  25.         else:
  26.                 return -1
  27.  
  28. if (login()):
  29.         print '[+] GET SMS count\n'
  30.         r = requests.get('http://'+MODEM_IP+API_PATH+'sms/sms-count')
  31.         print '[+] RESPONSE from modem\n{0}\n'.format(r.text)
  32.     # now you can parse the XML output of r.text
  33.  
  34.  
  35. '''
  36. OUTPUT:
  37. ------
  38. mrt:~/huawei/mirror/example$ ./get_sms_count.py
  39. [+] POST login credentials
  40. <?xml version="1.0" encoding="UTF-8"?><request><Username>admin</Username><Password>cGFzc3dvcmQ=</Password></request>
  41.  
  42. [+] RESPONSE from modem
  43. <?xml version="1.0" encoding="UTF-8"?><response>OK</response>
  44.  
  45. [+] GET SMS count
  46.  
  47. [+] RESPONSE from modem
  48. <?xml version="1.0" encoding="utf-8"?>
  49. <response>
  50.        <LocalUnread>0</LocalUnread>
  51.        <LocalInbox>4</LocalInbox>
  52.        <LocalOutbox>0</LocalOutbox>
  53.        <LocalDraft>0</LocalDraft>
  54.        <LocalDeleted>0</LocalDeleted>
  55.        <SimUnread>0</SimUnread>
  56.        <SimInbox>0</SimInbox>
  57.        <SimOutbox>0</SimOutbox>
  58.        <SimDraft>0</SimDraft>
  59.        <LocalMax>500</LocalMax>
  60.        <SimMax>40</SimMax>
  61.        <NewMsg>0</NewMsg>
  62. </response>
  63. '''
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement