Huawei hilink (E3372) web api delete-sms вернул ошибку 125003 - PullRequest
0 голосов
/ 27 сентября 2018

Это мой первый вопрос, и я не являюсь носителем языка, пожалуйста, не усердствуйте со мной:)

Я пытаюсь сделать что-то с смс с API чтения / отправки в порядке, но когда дело доходит до удаления части, она всегда возвращает ошибку 125005, которая, как мне кажется, связана с сеансом и токеном.

Это очень ограниченная информация в интернете о примере использования API.

Вот сценарий:

#!/bin/bash 

MODEM_IP="192.168.9.1" 
curl -s -X GET "http://$MODEM_IP/api/webserver/SesTokInfo" > ses_tok.xml
COOKIE=`grep "SessionID=""ses_tok.xml | cut -b 10-147`
TOKEN=`grep "TokInfo" ses_tok.xml | cut -b 10-41` 

curl -s -X POST "http://$MODEM_IP/api/sms/sms-list" -H "Cookie: $COOKIE" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: text/xml" -d "<request><PageIndex>1</PageIndex><ReadCount>20</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>" > modem_status.xml

#cat modem_status.xml

#read index
readarray -t array_index <<< "$(xmlstarlet sel -t -m "//Index" -v . -n modem_status.xml)"

rm -f result_status.xml
touch result_status.xml

for ((i=0; i<${#array_index[@]}; i++ ))
do
     index[$i]=$(printf ${array_index[$i]} | tr -d '\n\r ')
     #printf "${index[$i]} "
     printf "\n${index[$i]}\n" >> result_status.xml
     curl -s -X POST "http://$MODEM_IP/api/sms/delete-sms" -H "Cookie: $COOKIE" -H "__RequestVerificationToken: $TOKEN" -H "Content-Type: text/xml" -d "<?xml version="1.0" encoding="UTF-8"?><request><Index>${index[$i]}</Index></request>" >> result_status.xml
done

cat result_status.xml

ошибки:

<?xml version="1.0" encoding="UTF-8"?>
<error>
<code>125003</code>
<message></message>
</error>

Может быть, я пропустил то, что раньше не замечал.

TIA

1 Ответ

0 голосов
/ 14 мая 2019

Возможно, слишком поздно, но у меня возникла такая же проблема, и, возможно, это помогает и другим пользователям, которые ищут ее.

В моем случае токен / cookie уже истек прямо перед командой удаления.Я не думаю, что речь идет о компоненте времени, но больше похоже, что комбинация действительна только для одного вызова API.

Я получил новый токен / cookie прямо перед командой удаления, и теперь он работает для меня.Надеюсь, это поможет.

Ура Крис

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...