使用云片网同步发送单条短信
# coding:utf-8
import requests
class YunPian:
def send_single_sms(self):
url = "https://sms.yunpian.com/v2/sms/single_send.json"
api_key = "你的apikey"
code = "【云片网】您的验证码是{}".format(1234)
res = requests.post(url,json={
"apikey":api_key,
"mobile":"手机号",
"text":code,
})
return res
if __name__ == '__main__':
yun_pian = YunPian()
res = yun_pian.send_single_sms()
print(res)
发送异步短信
# coding:utf-8
from urllib.parse import urlencode
from tornado import httpclient
from tornado.httpclient import HTTPRequest
class YunPian:
async def send_single_sms(self):
http_client = httpclient.AsyncHTTPClient()
url = "https://sms.yunpian.com/v2/sms/single_send.json"
api_key = "你的apikey"
code = "【云片网】您的验证码是{}".format(1234)
post_request = HTTPRequest(url=url,method="POST",body=urlencode({
"apikey":api_key,
"mobile":"手机号",
"text":code,
}))
res = await http_client.fetch(post_request)
print(res.body.decode("utf8"))
if __name__ == '__main__':
import tornado
io_loop = tornado.ioloop.IOLoop.current()
yun_pian = YunPian()
#遇见只能传递函数名的方法,使用一下办法,生成一个带有参数的新函数名
#from functools import partial
#new_func = partial(yun_pian.send_single_sms,"参数1",参数2)
#run_sync方法可以在运行完某个协程之后停止时间循环
io_loop.run_sync(yun_pian.send_single_sms)
1小时内,一个手机号只能接受三次短信验证码
发送失败的话 400 bad request ,可以先去请查看云片网控制台看看失败原因,或者代码里找找错误