利用接口发送短信

# !/usr/local/bin/python
# -*- coding:utf-8 -*-
import http.client
import string
import urllib
import time
import random
import hashlib
from urllib import request
from urllib import parse


# host = "163yun.com"



# 资源包ID
# from_who = 2018053047437495


# 定义发短信的函数
def send_sms(mobile):
    sms_send_url = "https://api.netease.im/sms/sendcode.action"
    # 密钥
    AppSecret = '7a51d0193b1945639c8085c8bf1dc8bb'
    # 按要求设置必要参数
    AppKey = '222d20486d4d44d9b7e2f1ab7333a52f'
    Nonce = ''.join(random.sample(string.ascii_letters + string.digits, 20))
    CurTime = str(int(time.time()))
    CheckSum = hashlib.sha1((str(AppSecret) + str(Nonce) + str(CurTime)).encode('utf-8')).hexdigest()
    # 设置头信息
    headers = {
        'AppKey': AppKey,
        'Nonce': Nonce,
        'CurTime': CurTime,
        'CheckSum': CheckSum,
        'Content-type': 'application/x-www-form-urlencoded',
        }
    # 设置发送数据的内容
    post_data = urllib.parse.urlencode({
            'mobile': mobile,

        })

    # 构造请求
    req = request.Request(url=sms_send_url, data=post_data.encode('utf-8'), headers=headers)
    # print(req)
    res_data = urllib.request.urlopen(req)
    res = res_data.read()
    return res

    # 使用另外一种方式连接发送短信
    # conn = http.client.HTTPConnection(host, port=80, timeout=30)
    # conn.request("POST", sms_send_url, post_data, headers)
    # response = conn.getresponse()
    # response_str = response.read()
    # conn.close()
    # return response_str

if __name__ == '__main__':
    mobile = "13xxxxxxxx"
    # text = "您的验证码是:5201314。晚上吃鸡"
    print(send_sms(mobile))

猜你喜欢

转载自blog.csdn.net/jiangwei1102/article/details/80790343