尝试从华为调制解调器读取消息时出现错误125002

2024-04-29 13:01:40 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想看看我的华为调制解调器收到的短信。 为此,我必须从一个页面获取一个令牌值,然后在调制解调器的另一个页面(sms列表)中重用它

但是我得到了一个错误125002,这意味着我的令牌值不准确

这是我的密码

import hashlib
import base64
import binascii
import xml.etree.ElementTree as ET
from datetime import datetime
import requests
from bs4 import BeautifulSoup

BASEURL = 'http://192.168.8.1'


session = requests.Session()
reqresponse = session.get(BASEURL + '/api/webserver/SesTokInfo')
if reqresponse.status_code == 200:
        root = ET.fromstring(reqresponse.text)
        for results in root.iter('SesInfo'):
            sessionid = results.text
            print("the sessionId is", sessionid)
        for results in root.iter('TokInfo'):
            token = results.text
            print("The token is", token)
        sessioncookies = reqresponse.cookies

post_data = '<?xml version = "1.0" encoding = "UTF-8"?>\n'
post_data += '<request><PageIndex>1</PageIndex><ReadCount>3</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>\n'

headers = {'Content-Type': 'text/xml; charset=UTF-8',
               '__RequestVerificationToken': token,'X-Requested-With: XMLHttpRequest'}

api_url = BASEURL + '/api/sms/sms-list'
logonresponse = session.post( api_url, data=post_data, headers=headers, cookies=sessioncookies)


result = BeautifulSoup(logonresponse.text, 'html.parser')

for r in result:
    print(r)

从这个bash脚本中,我得到了我所有的消息列表,这几乎是相同的原理

^{pr2}$

我在python中漏掉了什么?在


Tags: textinimporttokenapifordatasession
1条回答
网友
1楼 · 发布于 2024-04-29 13:01:40

我终于解决了我的问题,显然我没有得到正确的令牌和会话id值。在

这是我最后的密码

import hashlib
import base64
import binascii
import xml.etree.ElementTree as ET
from datetime import datetime
import requests
from bs4 import BeautifulSoup
import xmltodict
import os


 BASEURL = 'http://192.168.8.1'


 session = requests.Session()
 reqresponse = session.get(BASEURL + '/api/webserver/SesTokInfo')
 if reqresponse.status_code == 200:
       _dict = xmltodict.parse(reqresponse.text).get('response', None) #here is the correct method to get sessionid and token values

 post_data = '<?xml version = "1.0" encoding = "UTF-8"?>\n'
 post_data += '<request><PageIndex>1</PageIndex><ReadCount>'+nb+'</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>\n'

 headers = {'Content-Type': 'text/xml; charset=UTF-8','Cookie': _dict['SesInfo'],
        '__RequestVerificationToken': _dict['TokInfo']
              } ' in the header i m using the correct values of sessionId and Token
 api_url = BASEURL + '/api/sms/sms-list'
 logonresponse = session.post( api_url, data=post_data, headers=headers)
 result = BeautifulSoup(logonresponse.text, 'html.parser')

 for r in result:
    print(r)

相关问题 更多 >