python - 如何向python脚本发送短信?

标签 python gps sms twilio

我正在开发一个 python 脚本,它将查找特定位置的纬度和经度并将其存储在文本文件中。该位置将通过 SMS 发送到 python 脚本。我可以使用 python 中的“geocode”库查找纬度和经度,但我不确定如何接受来自 SMS 的数据。

我之前使用过 TWILIO 模块,并且我知道如何使用它通过 Python 脚本向电话号码发送短信。但我想知道接收从电话号码发送的短信,然后在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 服务接收短信而不是发送短信,这将非常有帮助。

最佳答案

如果您熟悉Twilio,那么您也可以使用它来接收短信。只需注册一个号码(这将是我们的接收者)并在 Messaging -> A message comes in 部分添加 webhook。您的 webhook 是一个端点,它实现在 POST 操作上获取消息。然后你就可以process received messages如你所愿。

您可以在 official website 上找到详细教程.

编辑:

流量是多少?

  1. 您准备一个应用程序(在教程中 - 在 Flask 中实现)。您必须在应用程序服务器上运行它。例如,您的域名是 john-smith.com。
  2. 您将端点注册为 Webhook。您的端点是 john-smith.com/sms。
  3. 您向您在 Twilio 中注册的号码发送一条短信。
  4. 收到短信后,它会由 Twilio 进行处理,并作为 POST 请求发送到您的应用程序指定为 Webhook 的 URL

这是教程中的您的 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变量是收到的短信消息。你可以用它做任何你想做的事。

关于python - 如何向python脚本发送短信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41791199/

相关文章:

python - 如何将目录添加到我的 Sphinx 文档中的每一页?

python / Pandas : how to combine two dataframes into one with hierarchical column index?

android - 计算附近另一部Android手机的相对位置

java - Android 短信接收器无法使用

android - 从我自己的应用程序启动短信 Activity @ ConversarionList.class

python - 字典排序的时间复杂度

Python - 网络抓取 pubmed.gov 摘要 w/BeautifulSoup - 出现 nonetype 错误

c++ - 从 COM PORT C++ 接收 NMEA0183 数据

c# - 将距离添加到 GPS 坐标

android - 启动应用程序接收来自特定号码的短信