python 如何发送短信?

发短信和发邮件一样简单,也是只要配置一些内容就行。

首先,我们需要一个短信平台,我这里选择的是百亿无线,还有阿里云等短信平台,大家随意选择,刚注册有10条短信免费使用,大家学习使用也是够的。这是注册之后的页面,右边有你的用户名和密码,代码需要写入这个。

python 如何发送短信?


点击右上的文档中心后,点击下载,里面已经有写好的代码


python 如何发送短信?



解压打开DEMO文件

python 如何发送短信?


选择python语言

python 如何发送短信?


把里面的内容拷贝到你的视图函数里,并修改成下图


import http.client    #这里需要修改,因为它的是py2的写法
import urllib

host = "106.ihuyi.com"
sms_send_uri = "/webservice/sms.php?method=Submit"

account = "C63562911"   #用户名在短信平台可拷贝
password = "c26f1b234441c7aa72bde530c03fcdf6" #密码在短信平台可拷贝
def send_sms(text, mobile):
    params = urllib.parse.urlencode(
        {'account': account, 'password': password, 'content': text, 'mobile': mobile, 'format': 'json'})
    headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}
    conn = http.client.HTTPConnection(host, port=80, timeout=30)  #注意http.client的修改
    conn.request("POST", sms_send_uri, params, headers)
    response = conn.getresponse()
    response_str = response.read()
    conn.close()
    return response_str
#调用这个方法
def sendMsg(request):
    mobile = "15521291548"
    text = "您的验证码是:520520。请不要把验证码泄露给其他人。"   #注意:这个text只能修改验证码,别的不能动,不然会影响发送,想要别的模板估计得花钱

    print(send_sms(text, mobile))
    return HttpResponse("短信已发送")

用户名和密码的获取处,拷贝粘贴

python 如何发送短信?

最后在url.py文件配置路由地址即可

url(r'sendMsg/', views.sendMsg),


浏览器访问,返回短信发送成功,就OK了