1. 程式人生 > >雲片網發簡訊

雲片網發簡訊

使用雲片網同步傳送單條簡訊

# 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 ,可以先去請檢視雲片網控制檯看看失敗原因,或者程式碼裡找找錯誤