在debian系统上通过命令行与华为E3131和HiLink发送和接收SMS

Pet*_*ers 6 shell sms debian dongle huawei

我一直在互联网上搜索如何在基于debian的linux系统上使用华为E3131和HiLink通过命令行发送短信的指南.所有这些都没有奏效.看来,该软件有更新.


HiLink向我展示了以下版本:

  • 设备名称:E3131
  • 硬件版本:CU1E3131IM
  • 软件版本:22.521.23.00.00
  • Web-Frontend-Version:17.100.08.00.03

以下问题:如何使用E3131在基于debian的linux系统上通过命令行发送/接收短信?


在超级用户的无头系统上设置硬件有一个后续问题

Pet*_*ers 13

需要3个步骤:

  1. 获取会话ID
  2. 获得令牌
  3. 发送/接收短信

第1步 - 获取会话ID

为了获取会话ID,我在自己的shell脚本中使用以下命令:

#!/bin/bash

curl -b session.txt -c session.txt http://192.168.8.1/html/index.html > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

第2步 - 获取令牌

为了获取令牌,我还使用以下命令,也在自己的shell脚本中:

#!/bin/bash

TOKEN=$(curl -s -b session.txt -c session.txt http://192.168.8.1/html/smsinbox.html)
TOKEN=$(echo $TOKEN | cut -d'"' -f 10)

echo $TOKEN > token.txt
Run Code Online (Sandbox Code Playgroud)

第3步A部分 - 发送短信

最后是用于发送短信的第三个shell脚本,它还调用另外两个脚本:

#!/bin/bash

NUMBER=$1
MESSAGE=$2

./session.sh
./token.sh

LENGTH=${#MESSAGE}
TIME=$(date +"%Y-%m-%d %T")
TOKEN=$(<token.txt)

SMS="<request><Index>-1</Index><Phones><Phone>$NUMBER</Phone></Phones><Sca/><Content>$MESSAGE</Content><Length>$LENGTH</Length><Reserved>1</Reserved><Date>$TIME</Date></request>"

echo $SMS

curl -v -b session.txt -c session.txt -H "X-Requested-With: XMLHttpRequest" --data "$SMS" http://192.168.8.1/api/sms/send-sms --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml"
Run Code Online (Sandbox Code Playgroud)

用法是:

command phonenumber "text"
Run Code Online (Sandbox Code Playgroud)

第3步B部分 - 接收短信

并且为了接收最后未读的短信(或者,如果不是可用的,最后读取的短信)我使用以下脚本:

#!/bin/bash

./session.sh
./token.sh

TOKEN=$(<token.txt)

DATA="<request><PageIndex>1</PageIndex><ReadCount>1</ReadCount><BoxType>1</BoxType><SortType>0</SortType><Ascending>0</Ascending><UnreadPreferred>1</UnreadPreferred></request>"

curl -b session.txt -c session.txt -H "X-Requested-With: XMLHttpRequest" --data "$DATA" http://192.168.8.1/api/sms/sms-list --header "__RequestVerificationToken: $TOKEN" --header "Content-Type:text/xml"
Run Code Online (Sandbox Code Playgroud)

这可能不是很好的编码,但它的工作原理.