Jag försöker skicka SMS med en hempulad Pythonsnutt i RPin som pratar med modemet.
Jag är inte van vid Python.
Nedanstående kod fungerar som den ska.
Byter jag ut strängen "Ost Ost Ost" till variabeln Message så får jag en Exception.
Hur ska jag felsöka detta?
Kod: Markera allt
#!/usr/bin/python3
# -*- coding: UTF-8 -*-
import sys
import requests
import xml.etree.ElementTree as ET
def LoginToSMSGateway(sms_gateway_ip):
api_url = '/api/user/login'
post_data = '<request><Username>admin</Username><Password>YssAsQ==</Password>' #Hardcoded base64 pwd
r = requests.post(url='http://' + sms_gateway_ip + api_url, data=post_data)
if r.status_code == 200:
result = False
root = ET.fromstring(r.text)
for results in root.iter('response'):
if results.text == 'OK':
result = True
return result
else:
return False
def SendSMS(sms_gateway_ip):
class SMS:
Opened = False
Message = "This is the message"
api_url = '/api/sms/send-sms'
post_data = '<?xml version="1.0" encoding="UTF-8"?><request><Index>-1</Index><Phones><Phone>0706123456</Phone></Phones><Sca></Sca>'\
+ '<Content> ' + "Ost Ost Ost" + ' </Content><Length>19</Length><Reserved>1</Reserved><Date>2022-01-10 21:37:54</Date></request>'
headers = {'Referer': 'http://' + sms_gateway_ip + '/html/smsinbox.html'}
r = requests.post(url='http://' + sms_gateway_ip + api_url, data=post_data, headers=headers)
return r
def main():
try:
if LoginToSMSGateway('192.168.1.1'):
print ('Logged in.')
smsList = SendSMS('192.168.1.1')
print (smsList.text)
sys.exit(0);
except Exception:
print ('No joy');
sys.exit(1);
if __name__ == "__main__":
main()