我正在开发一个python脚本,它将找到特定位置的经度和经度并将其存储在文本文件中。该位置将通过短信发送到python脚本。我可以使用python中的“地理编码”库来查找纬度和经度的后期部分,但我不确定如何接受来自SMS的数据。 / p>
我之前使用过TWILIO模块,我知道如何通过Python脚本将SMS发送到使用它的电话号码。但我想知道接收从电话号码发送的SMS消息然后在python脚本中使用该消息体进行进一步操作的过程。
这就是我向手机号码发送短信的方式 -
import os
from twilio.rest import TwilioRestClient
accountSID = '****'
authToken = '***'
twilioCli = TwilioRestClient(accountSID, authToken)
myTwilioNumber = '+1 ***'
myCellPhone = '+***'
message = twilioCli.messages.create(body=string, from_=myTwilioNumber, to=myCellPhone)
如果您能提供与上述过程完全相反的解决方案,即通过TWILIO服务接收短信而不是发送短信,那将非常有用。
答案 0 :(得分:2)
如果您熟悉Twilio,那么您也可以使用它来接收短信。只需注册一个号码(这将是我们的接收者)并在Messaging
- >中添加webhook A message comes in
部分。您的webhook是实现在POST
操作上获取消息的终点。然后你可以根据需要process received messages。
您可以在official website找到详细的教程。
修改强>
流程是什么?
POST
请求发送到您的应用指定为webhook的网址。这是教程中的你的 python代码(flask应用程序)。这是您提取数字和消息的地方。这也是你的申请。
from flask import Flask, request from twilio import twiml app = Flask(__name__) @app.route('/sms', methods=['POST']) def sms(): number = request.form['From'] message_body = request.form['Body'] resp = twiml.Response() resp.message('Hello {}, you said: {}'.format(number, message_body)) return str(resp) if __name__ == '__main__': app.run()
收到短信的message_body
变量消息。你可以用它做任何你想做的事。
答案 1 :(得分:1)
用Python发送短信的简单代码:
from smsapi import SmsApi
apikey = "675031878xxxxxxxxx" sender = "SEDEMO"
sms = SmsApi(apikey, sender)
sms = sms.send_sms(
recipient="902000xxxx",
message="test message"
)
确保您已从https://github.com/spring-edge/ Github存储库中复制 smsapi.py
类文件并放在同一目录中。在上面的代码中,收件人是目的地移动电话号码和短信正文作为消息。