如何将短信发送到python脚本?

时间:2017-01-22 13:02:41

标签: python gps sms twilio

我正在开发一个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服务接收短信而不是发送短信,那将非常有用。

2 个答案:

答案 0 :(得分:2)

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

您可以在official website找到详细的教程。

修改

流程是什么?

  1. 您准备一个应用程序(在教程中 - 在烧瓶中实现)。您必须在应用程序服务器上运行它。例如,您的域名是john-smith.com。
  2. 您将端点注册为webhook。你的终点是john-smith.com/sms。
  3. 您向在Twilio注册的号码发送短信。
  4. 当短信发出时,它由Twilio处理并作为POST请求发送到您的应用指定为webhook的网址
  5. 这是教程中的你的 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类文件并放在同一目录中。在上面的代码中,收件人是目的地移动电话号码和短信正文作为消息。