返回

程序员也有浪漫,Python自动给女朋友发短信,免费又贴心

人工智能

前言:

之前发过一篇文章,用Python制作的给父母天气预报提醒的小工具。天气变冷了,给父母制作一个天气提醒小助手,这篇文章我同步到博客上之后,有读者在评论区留言,对于部分微信没有网页版接口,导致无法实现这个小工具,他希望我来制作一个用短信的方式实现的功能。

准备工作

在编写代码之前,我们需要做一些准备工作:

  1. 注册一个云通信平台的账号,这里我使用的是阿里云通信,具体可以参考阿里云短信服务文档:https://help.aliyun.com/document_detail/101414.html
  2. 在云通信平台上创建短信模板,这里需要填写模板内容和申请审核,具体可以参考阿里云短信模板申请文档:https://help.aliyun.com/document_detail/101415.html
  3. 获取短信应用的AccessKey和AccessKeySecret,具体可以参考阿里云AccessKey获取文档:https://help.aliyun.com/document_detail/52798.html

Python代码实现

准备工作完成后,就可以编写Python代码来实现这个功能了。

import requests

# 云通信平台的API地址
api_url = "https://dysmsapi.aliyuncs.com"

# 请求头
headers = {
    "Content-Type": "application/x-www-form-urlencoded"
}

# 请求参数
params = {
    "AccessKeyId": "你的AccessKeyId",
    "AccessKeySecret": "你的AccessKeySecret",
    "SignatureMethod": "HMAC-SHA1",
    "SignatureVersion": "1.0",
    "Timestamp": "2023-02-13T12:00:00Z",
    "Format": "JSON",
    "Action": "SendSms",
    "Version": "2017-05-25",
    "RegionId": "cn-hangzhou",
    "PhoneNumbers": "接收短信的手机号",
    "SignName": "短信签名",
    "TemplateCode": "短信模板ID",
    "TemplateParam": "短信模板中的变量",
}

# 发送请求
response = requests.post(api_url, headers=headers, params=params)

# 处理响应结果
if response.status_code == 200:
    result = response.json()
    if result["Code"] == "OK":
        print("短信发送成功")
    else:
        print("短信发送失败,错误码:", result["Code"], ",错误信息:", result["Message"])
else:
    print("请求失败,错误码:", response.status_code)

使用方法

要使用这个代码,你需要将以下信息替换为自己的信息:

  • 你的AccessKeyId:你的云通信平台的AccessKeyId
  • 你的AccessKeySecret:你的云通信平台的AccessKeySecret
  • 接收短信的手机号:接收短信的手机号
  • 短信签名:你的短信签名
  • 短信模板ID:你的短信模板ID
  • 短信模板中的变量:短信模板中的变量

然后就可以运行代码发送短信了。

结语

这个小工具可以帮助你每天自动给女朋友发送免费的短信,表达你的爱意。如果你是一个程序员,不妨试一下吧!