iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >免费发送短信
  • 481
分享到

免费发送短信

pythonphpjavascript 2023-09-15 13:09:38 481人浏览 八月长安
摘要

大家好,今天给大家介绍一个可以免费发送短信的方法,喜欢记得点赞、一定要收藏 目录 介绍兼容性和适配 SDK/插件;使用代码使用代码pythonPHPZKey SDK/插件python

大家好,今天给大家介绍一个可以免费发送短信的方法,喜欢记得点赞、一定要收藏

目录

介绍

使用 泉鸣网络api接口进行短信发送

兼容性和适配

请根据自己的需求,选择对应语言的SDK。

语言/系统发送请求签名多模板多参数模板
python
PHP×
js
Java
Zkey×
魔方
WordPress
  • (√:已支持且适配,–:暂未开发,×:不支持或待验证)

SDK/插件;使用代码

使用代码

Python

sms = SDK()  # 实例化SDK# 这里演示了一个简单的验证码功能check_code = random.randint(100000, 999999)  # 生成验证码results, info = sms.send('接受者的手机号', sms.def_model_id, {'code': check_code})  # 发送print(info)

php

$sms = new QuanmSmsSDK();$result = $sms->sendSms('15666666666', ['code' => '1234']);var_dump($result);

ZKey

11 => [  // 下载地址 https://gitee.com/chengdu-quanming-network/quanmwl-sms-sdk/tree/master/SMS-SDK/zKey-SDK  "className": "QuanmSmsSDK",  "channelName": "泉鸣短信",]

SDK/插件

打包下载:点击跳转

python

# -*- coding: utf-8 -*-# author:Tiper(邱鹏)# 文件所属项目:QDC SMS SDK# 文件描述:QuanmSMS SDK (泉鸣开放平台sms接口SDK),包含执行短信业务所需的方法# Python版本要求:python3及以上(可自行修改兼容Python2)# 官网:dev.quanmwl.com# 发布日期:2022-7-31import randomimport hashlibimport requestshl = hashlib.md5()class SDK:    def __init__(self):        # 请开发者修改下列三行配置信息        self.open_id = '修改为自己的'   # 开发者ID        self.api_key = '修改为自己的'   # 能力列表的apiKey        self.def_model_id = 0    # 默认情况下使用的模板ID        self.api_host = 'Http://dev.quanmwl.com'  # Api Host【默认,api支持https,如有需要请修改】        self.state_code = {            '200': '短信发送成功',            '201': '表单信息或接口信息有误',            '202': '信息重复',            '203': '服务器异常,请稍后重试',            '204': '找不到数据',            '205': '本次请求不安全',            '206': '接口版本过低',            '207': '余额不足',            '208': '验签失败',            '209': '功能被禁用',            '210': '账户被禁用',            '211': '参数过长',            '212': '权限不足',            '213': '参数调用状态异常',            '214': '版本过高',            '215': '内容受限',            '216': '内容违规',            '???': '严重未知错误,请联系服务提供商'        }        # 更多状态:https://quanmwl.yuque.com/docs/share/9fbd5429-6575-403D-8a3d-7081b2977eda?#8sz4 《平台状态码处理指引》    def sign(self, _tel, model_id, model_args):        # type:(str, str, str) -> str        """        签名方法        :param _tel: 接收者手机号        :param model_id: 短信模板ID        :param model_args: 短信模板变量参数字典        :return:        """        server_sign_data = f"{self.open_id}{self.api_key}{_tel}{model_id}{model_args}"        hl.update(server_sign_data.encode("utf-8"))        return hl.hexdigest()    def send(self, tel, model_id, model_args):        # type:(str, int, dict) -> tuple[bool, str]        """        发送短信        :param tel: 接收者手机号        :param model_id: 短信模板ID        :param model_args: 短信模板变量参数字典        :return:        """        headers = {            'User-Agent': 'QuanmOpenApi_Python_SDK-Sms_0.1.0',  # 非必要,但推荐传入用于兼容性统计        }        data = {            'openID': self.open_id,            'tel': tel,            'sign': self.sign(tel, str(model_id), str(model_args).replace(' ', '')),            'model_id': model_id,            'model_args': f'{model_args}'        }        try:            response = requests.post(f'{self.api_host}/v1/sms', headers=headers, data=data)            # http_status = response.status_code  几乎可以不依赖http状态码,如有需要请自行修改        except:            return False, 'Server Error'        _mess = 'Not Find'        if response is None or 'HTML>' in response.text:            print("Requests Fail")            return False, _mess        else:            redata = eval(response.text)            http_state = response.status_code            if http_state != 200 and 'state' not in redata:                return False, _mess            api_state = redata['state']            if api_state in self.state_code:                _mess = self.state_code[api_state]            if api_state == '200':                return True, _mess            else:                return True, _messif __name__ == '__main__':    sms = SDK()  # 实例化SDK    # 这里演示了一个简单的验证码功能    check_code = random.randint(100000, 999999)  # 生成验证码    results, info = sms.send('接受者的手机号', sms.def_model_id, {'code': check_code})  # 发送    print(info)

PHP

// 示例代码(修改29-30行的配置后可解除注释进行测试$sms = new QuanmSmsSDK();$result = $sms->sendSms('15666666666', ['code' => '1234']);var_dump($result);class QuanmSmsSDK{    //泉明开放平台openId    private $appId;    //泉明开放平台apiKey    private $apiKey;    //泉明开放平台接口地址    private $apiUrl;    //泉明开放平台短信模板ID    private $templateId;    public function __construct()    {        $this->appId  = '';  // 从平台控制面板获取        $this->apiKey  = '';  // 从平台控制面板-能力管理-短信接口(SMS)页面开通后获取        $this->apiUrl   = 'http://dev.quanmwl.com/'; // 接口网关地址(host)一般不需要修改,已支持https,如有需要请自行修改        $this->templateId  = '0';  //短信模板ID,从平台申请,SDK默认使用0号公用模板测试    }    private $stateCode = [        200 => '短信发送成功',        201 => '表单信息或接口信息有误',        202 => '信息重复',        203 => '服务器异常,请稍后重拾',        204 => '找不到数据',        205 => '本次请求不安全',        206 => '接口版本过低',        207 => '余额不足',        208 => '验签失败',        209 => '功能被禁用',        210 => '账户被禁用',        211 => '参数过长',        212 => '权限不足',        213 => '参数调用状态异常',        214 => '版本过高',        215 => '内容受限',        216 => '内容违规',        '???' => '严重未知错误,请联系服务提供商'    ];    public function sendSms($tel, $args = []): array    {        $data = [            'openID' => $this->appId,            'tel' => $tel,            'model_args' => JSON_encode($args),            'sign' => $this->generateSign($tel,json_encode($args)),            'model_id' => $this->templateId        ];        return $this->curlPost('v1/sms', $data);    }    private function generateSign($mobile,$model_args)    {        return md5($this->appId.$this->apiKey.$mobile.$this->templateId.$model_args);    }    private function curlPost($path, $body)    {        $curl = curl_init();        $resquest_api = $this->apiUrl . $path;        curl_setopt($curl, CURLOPT_URL, $resquest_api);        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);        curl_setopt($curl, CURLOPT_POST, 1);        curl_setopt($curl, CURLOPT_POSTFIELDS, $body);        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);        curl_setopt($curl, CURLOPT_NOBODY, FALSE);        $response = curl_exec($curl);        curl_close($curl);        $response = json_decode($response, true);        if (array_key_exists($response['state'], $this->stateCode)) {            return ['code' => $response['state'], 'msg' => $response['mess']];        } else {            return ['code' => '-1', 'msg' => '请求结果错误,请联系开发人员核实'];        }    }}

JS

文件下载地址:点击跳转(https://gitee.com/chengdu-quanming-network/sms-gsa-web/tree/master/)

ZKey

namespace Niaoyun\Common\Sms;class QuanmSmsSDK extends BaseSms implements ISms{    //开放平台openId    private $appId;    //开放平台apiKey    private $apiKey;    //开放平台接口地址    private $apiUrl;    //开放平台短信模板ID    private $templateId;    public function __construct($appId, $apiKey, $apiUrl, $templateId)    {        $this->appId = '修改为自己的OpenID';  // 控制台 (A1轮测试中需要向官方群群主申请开通获取)        $this->apiKey = '修改为自己的ApiKey'; // 控制台-能力管理-短信接口(SMS) (A1轮测试中需要向官方群群主申请开通获取)        $this->apiUrl = 'http://dev.quanmwl.com/';        $this->templateId = '0';  // 平台申请到的模板ID (A1轮测试中需要向官方群群主申请开通获取)    }    public function send($tel, $content, $id = null, $type = 2, $param = [], $handleResult = true)    {        preg_match('/\d+/', $content, $number);        $data = [            'openID' => $this->appId,            'tel' => $tel,            'sign' => $this->generateSign($tel),            'model_id' => $this->templateId,            'model_args' => json_encode(['code' => $number[0]])        ];        $result = $this->curlPost('v1/sms', $data);        if ($result['state'] = 200) {            return true;        } else {            return false;        }    }    private function generateSign($mobile)    {        return md5('sign-' . $this->appId . $this->apiKey . $mobile);    }    private function curlPost($path, $body)    {        $curl = curl_init();        $resquest_api = $this->apiUrl . $path;        curl_setopt($curl, CURLOPT_URL, $resquest_api);        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);        curl_setopt($curl, CURLOPT_POST, 1);        curl_setopt($curl, CURLOPT_POSTFIELDS, $body);        curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);        curl_setopt($curl, CURLOPT_NOBODY, FALSE);        $response = curl_exec($curl);        curl_close($curl);        return json_decode($response, true);    }}

泉鸣网络

注册

进入 泉鸣网络开放平台
如果没有账号点击注册进行注册

登录

注册后会自动登录
如以有账号点击登录

获取额度

方法1:每日签到(免费)

每天点击签到可以领取1~5的短信额度
tips:有时候可能会签到失败,需重复签到

方法2:购买

可以在用户首页进行账号充值或者进入SMS短信进行单独购买

更多方法

点击跳转官方文档

结尾

官方文档 点击跳转

来源地址:https://blog.csdn.net/m0_61093868/article/details/127461229

--结束END--

本文标题: 免费发送短信

本文链接: https://www.lsjlt.com/news/408626.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 免费发送短信
    大家好,今天给大家介绍一个可以免费发送短信的方法,喜欢记得点赞、一定要收藏 目录 介绍兼容性和适配 SDK/插件;使用代码使用代码pythonPHPZKey SDK/插件python...
    99+
    2023-09-15
    python php javascript
  • python发送短信
    import http.clientimport urllib host = "106.ihuyi.com"sms_send_uri = "/webservice/sms.phpmethod=Submit" account =...
    99+
    2023-01-31
    发送短信 python
  • 怎么用Python发免费短信
    今天就跟大家聊聊有关怎么用Python发免费短信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言今天带大家来玩一玩,如何用 Python 来实现免费短信。下面进入今天的主题 - t...
    99+
    2023-06-16
  • php如何发送短信
    今天小编给大家分享一下php如何发送短信的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。发送方法:1、实名认证并开通短信API...
    99+
    2023-07-04
  • Java实现短信发送
    首先,我们要实现Java短信发送功能需要去申请第三方短信接口,以阿里云为例 点击跳转 在API市场中找到短信验证码接口: 我们可以先选择免费试用来测试: 点击立即购买后可前往控制台查看: OK...
    99+
    2023-09-07
    java 开发语言
  • php怎么发送短信
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑基于PHP的短信API接口调用示例...
    99+
    2024-04-02
  • PHP实现手机短信接口发送短信
    随着互联网的普及,短信已经成为人们日常生活中不可或缺的一部分。我们在各种场合下都会使用到短信,例如注册账号、确认订单、找回密码、验证码验证等等。其中,短信验证码验证是目前最常用的方式之一。而在实现短信验证码验证的过程中,短信发送接口的实现显...
    99+
    2023-05-22
    接口 PHP 手机短信
  • PHP调用乐信短信接口实现短信发送
    近年来,短信作为一种高效快捷的通信手段,被广泛地应用于各种场景,比如验证码验证、营销推广、订单通知等。而乐信短信平台作为国内领先的短信服务提供商,其稳定可靠的服务受到了广大客户的信任和好评。本文将介绍如何利用 PHP 编程语言,调用乐信短信...
    99+
    2023-05-21
    PHP 调用 短信接口
  • PHP调用鼎信通短信接口实现短信发送
    近年来,随着移动互联网的发展,短信成为了人们交流的一种重要工具。而如何实现短信的快速发送,对于企业来说则尤为重要。本文将介绍如何使用PHP语言调用鼎信通短信接口实现短信的自动发送。一、注册鼎信通账户并获取API接口密钥在使用鼎信通短信接口之...
    99+
    2023-05-21
    PHP 短信发送 鼎信通短信接口
  • PHP调用企信通短信接口实现短信发送
    企信通是目前国内最大的企业级短信服务提供商之一,其短信接口简单易用,为广大企业用户所喜爱。本文将介绍如何使用PHP调用企信通短信接口实现短信发送。一、申请企业短信接口账号首先,我们需要在企信通官网上申请企业短信接口账号。根据官网提示填写相关...
    99+
    2023-05-22
    PHP 短信发送 企信通
  • PHP发送短信技术详解
    一、简介随着移动互联网的普及,短信营销越来越受到企业的关注和重视。作为一种实效性极高、成本极低、传递速度极快的宣传方式,短信营销正逐渐成为企业推销新品、掌握市场新变化的重要手段之一。PHP作为一种强大的后端语言,也可以实现短信发送的功能。本...
    99+
    2023-05-21
    PHP 发送短信 技术详解
  • 阿里云平台发送短信
    1.获取阿里云访问密钥 为了使用短信发送API-Python SDK,您必须申请阿里云的访问密钥。 阿里云访问秘钥是阿里云为用户使用 API(非控制台)来访问其云资源设计的“安全口令”。您可以用它来签名 API 请求内容以通过服务端的安全...
    99+
    2023-01-31
    阿里 发送短信 平台
  • 只能利用VBS发送短信
    这篇文章主要介绍了只能利用VBS发送短信,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。代码如下:m = "xxxyyyyzzzz" '手机号码 p...
    99+
    2023-06-08
  • Java怎么实现短信发送
    本篇内容主要讲解“Java怎么实现短信发送”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现短信发送”吧!1. 引入相关maven依赖<dependency><gr...
    99+
    2023-06-22
  • PHP发送HTTP请求实现批量短信发送
    PHP是一种流行的网页编程语言,用于开发动态Web应用程序。与其他编程语言相比,PHP与HTTP请求的集成较好,使其成为发送批量短信的理想语言。在本文中,我们将介绍如何使用PHP发送HTTP请求来实现批量短信发送。假设我们有一个来自电信服务...
    99+
    2023-05-24
    Http请求 PHP 短信发送
  • SpringBoot怎么实现短信发送
    这篇“SpringBoot怎么实现短信发送”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot怎么实现短信发送...
    99+
    2023-06-29
  • android实现免费短信验证
    要在Android上实现免费短信验证,您可以考虑以下两种方法:1. 使用短信验证的第三方服务:有一些提供免费短信验证码服务的第三方提...
    99+
    2023-09-01
    android
  • 用Python每天自动给女友免费发短信
    目录前言twilio注册获取试用号接收号验证代码调试前言 今天的教程就是教大家怎么发送免费短信给女朋友。 发送短信接口,我知道的常见的有两个平台,一个是 twilio,可以免费发短信...
    99+
    2024-04-02
  • Python调用腾讯云短信服务发送手机短信
    目录1、准备工作2、代码实现3、拓展4、闲聊1、准备工作 pip install qcloudsms_py 1.注册腾讯云账号 2.在产品列表内找到短信,在短信内添加应用 3.获取...
    99+
    2024-04-02
  • PHP调用腾讯云短信接口实现发送短信
    PHP调用腾讯云短信接口实现发送短信随着移动互联网的发展,短信成为了日常生活中必不可少的交流工具,而短信营销、验证码等应用也越来越普遍。腾讯云短信平台提供了一种便捷、安全、高效的短信服务,而PHP调用腾讯云短信接口实现发送短信也变得越来越简...
    99+
    2023-05-21
    PHP 腾讯云短信接口 发送短信
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作