php发送短信功能(创蓝短信)

news/2024/7/22 13:06:38/文章来源:https://blog.csdn.net/hechenhongbo/article/details/139063561

一、以下是创蓝发送短信的功能,可以直接执行:

<?php$phone = '12312312312';$msg   = '测试短信功能';echo '发送手机号:'.$phone.'<br/>';echo '发送内容:'.$msg.'<br/>';$send  = sendMessage($phone, $msg);var_dump($send);/*** 发送短信** @param string $mobile    手机号码* @param string $msg       短信内容* @param string $needstatus  是否需要状态报告*/function sendMessage($mobile, $msg, $needstatus = 'true'){//创蓝接口参数$postArr = array ('account'  =>  "自己的创蓝",'password' => "自己的创蓝密码",'msg'      => urlencode($msg),'phone'    => $mobile,'report'   => $needstatus);$result = httpCurl("https://smssh1.253.com/msg/send/json", $postArr);return json_decode($result);}/*** http请求** @param $url //请求地址* @param $params //链接后拼接的参数数组* @param $method //get/post* @param $header //请求头数组*/function httpCurl($url, $params, $method = 'POST', $header = array("Content-type:text/html; charset=UTF-8"), $multi = false){$params = json_encode($params);echo '发送接口参数:'.$params;// 初始化cURL会话$ch = curl_init();// 设置cURL选项curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $header);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);if ($method == 'POST' && !empty($params)) {curl_setopt($ch, CURLOPT_POSTFIELDS, $params);}if ($multi) {curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);curl_setopt($ch, CURLOPT_TIMEOUT, 10);}// 执行cURL会话并获取响应$response = curl_exec($ch);echo '接收发送结果:'.$response.'<br/>';// 检查是否有错误发生if (curl_errno($ch)) {echo 'cURL 错误: ' . curl_errno($ch). curl_error($ch);} else {// 处理响应结果return $response;}// 关闭cURL会话curl_close($ch);}?>

二、下面附上curl_erron()的错误码的意思:

libcurl - Error Codes

每一个错误码都可以找到相对应的错误信息,有时候用着用着不能用了,或者错误信息返回null的时候,重启php试试,一般是因为服务更新了相关的软件包产生的问题。

重启命令:service php-fpm restart
 

三、错误码信息内容:

CURLE _ OK(0)

一切都好。照常进行。

CURLE _ UNSUPPORTED _ PROTOCOL(1)

您传递给libcurl的URL使用了该libcurl不支持的协议。支持可能是您没有使用的编译时选项,可能是拼写错误的协议字符串或只是libcurl没有代码的协议。

CURLE _ FAILED _ INIT(2)

早期初始化代码失败。这可能是一个内部错误或问题,或者是一个资源问题,在初始化时无法完成一些基本工作。

CURLE _ URL _ mal format(3)

URL格式不正确。

CURLE_NOT_BUILT_IN (4)

由于构建时的决定,在此libcurl中找不到内置的请求功能、协议或选项。这意味着在构建libcurl时没有启用或显式禁用某个特性或选项,为了让它正常工作,您必须重新构建libcurl。

CURLE _ could nt _ RESOLVE _ PROXY(5)

无法解析代理。无法解析给定的代理主机。

CURLE _ could nt _ RESOLVE _ HOST(6)

无法解析主机。未解析给定的远程主机。

CURLE_COULDNT_CONNECT (7)

无法将()连接到主机或代理。

CURLE_WEIRD_SERVER_REPLY (8)

libcurl无法解析服务器发送的数据。该错误代码被称为卷发_ FTP _怪异_服务器_回复7.51.0之前。

CURLE _ REMOTE _ ACCESS _ DENIED(9)

我们被拒绝访问URL中给定的资源。对于FTP,在尝试更改到远程目录时会出现这种情况。

CURLE _ FTP _ ACCEPT _ FAILED(10)

当使用活动FTP会话等待服务器连接时,通过控制连接或类似方式发送了错误代码。

CURLE_FTP_WEIRD_PASS_REPLY (11)

将FTP密码发送到服务器后,libcurl希望得到正确的回复。此错误代码表示返回了意外代码。

CURLE _ FTP _ ACCEPT _ time out(12)

在等待服务器连接的活动FTP会话期间CURLOPT_ACCEPTTIMEOUT_MS(或内部默认值)超时已过期。

CURLE_FTP_WEIRD_PASV_REPLY (13)

libcurl无法从服务器获得合理的结果作为对PASV或EPSV命令的响应。服务器有缺陷。

CURLE_FTP_WEIRD_227_FORMAT (14)

FTP服务器返回227行作为对PASV命令的响应。如果libcurl无法解析该行,则返回代码。

CURLE _ FTP _ CANT _ GET _ HOST(15)

查找用于新连接的主机时出现内部故障。

CURLE _ http 2(16)

在HTTP2帧层中检测到问题。这是一个普通的问题,可能是几个问题中的一个。有关详细信息,请参见错误缓冲区。

CURLE _ FTP _ could nt _ SET _ TYPE(17)

尝试将传输模式设置为二进制或ASCII时收到错误。

CURLE_PARTIAL_FILE (18)

文件传输比预期的时间短或大。当服务器首先报告预期的传输大小,然后交付与先前给定大小不匹配的数据时,就会发生这种情况。

CURLE_FTP_COULDNT_RETR_FILE (19)

这要么是对“RETR”命令的奇怪回复,要么是零字节传输完成。

Obsolete error (20)

不用于现代版本。

CURLE_QUOTE_ERROR (21)

当向远程服务器发送自定义“QUOTE”命令时,其中一个命令返回400或更高的错误代码(对于FTP ),或者指示命令未成功完成。

CURLE_HTTP_RETURNED_ERROR (22)

如果出现以下情况,则返回CURLOPT_FAILONERROR设置为真,HTTP服务器返回大于等于400的错误代码。

CURLE_WRITE_ERROR (23)

将收到的数据写入本地文件时出错,或者从写回调中将错误返回到libcurl。

Obsolete error (24)

不用于现代版本。

CURLE_UPLOAD_FAILED (25)

开始上传失败。对于FTP,服务器通常会拒绝STOR命令。错误缓冲区通常包含服务器对此的解释。

CURLE_READ_ERROR (26)

读取本地文件时出现问题,或者读取回调返回了错误。

CURLE_OUT_OF_MEMORY (27)

内存分配请求失败。这是非常糟糕的事情,如果发生这种情况,事情会变得非常糟糕。

CURLE_OPERATION_TIMEDOUT (28)

操作超时。根据条件,已达到指定的超时期限。

Obsolete error (29)

不用于现代版本。

CURLE_FTP_PORT_FAILED (30)

FTP端口命令返回错误。这通常发生在您没有为libcurl指定足够好的地址时。看见CURLOPT_FTPPORT.

CURLE_FTP_COULDNT_USE_REST (31)

FTP REST命令返回错误。如果服务器正常,这种情况应该不会发生。

Obsolete error (32)

不用于现代版本。

CURLE_RANGE_ERROR (33)

服务器不支持或不接受范围请求。

CURLE_HTTP_POST_ERROR (34)

这是一个奇怪的错误,主要是由于内部混乱造成的。

CURLE_SSL_CONNECT_ERROR (35)

SSL/TLS握手中出现问题。您真的需要错误缓冲区,并在那里阅读消息,因为它稍微指出了问题。可能是证书(文件格式、路径、权限)、密码等。

CURLE_BAD_DOWNLOAD_RESUME (36)

无法继续下载,因为指定的偏移量超出了文件边界。

CURLE _ FILE _ could nt _ READ _ FILE(37)

无法打开使用FILE://给定的文件。很可能是因为文件路径无法识别现有文件。你检查文件权限了吗?

CURLE_LDAP_CANNOT_BIND (38)

LDAP无法绑定。LDAP绑定操作失败。

CURLE_LDAP_SEARCH_FAILED (39)

LDAP搜索失败。

Obsolete error (40)

不用于现代版本。

CURLE_FUNCTION_NOT_FOUND (41)

找不到函数。找不到所需的zlib函数。

CURLE_ABORTED_BY_CALLBACK (42)

被回调中止。回调向libcurl返回了“abort”。

CURLE_BAD_FUNCTION_ARGUMENT (43)

用错误的参数调用了函数。

Obsolete error (44)

不用于现代版本。

CURLE_INTERFACE_FAILED (45)

接口错误。无法使用指定的传出接口。设置哪个接口用于传出连接的源IP地址CURLOPT_INTERFACE.

Obsolete error (46)

不用于现代版本。

CURLE_TOO_MANY_REDIRECTS (47)

太多重定向。当跟随重定向时,libcurl达到最大数量。用...设定您的限制CURLOPT_MAXREDIRS.

CURLE_UNKNOWN_OPTION (48)

传递给libcurl的选项不可识别/未知。请参考相应的文档。这很可能是使用libcurl的程序中的问题。错误缓冲区可能包含有关哪个选项的更具体的信息。

CURLE_SETOPT_OPTION_SYNTAX (49)

传递给setopt的选项格式错误。有关选项的详细信息,请参见错误消息。

Obsolete errors (50-51)

不用于现代版本。

CURLE_GOT_NOTHING (52)

服务器没有返回任何东西,在这种情况下,什么也没有得到被认为是一个错误。

CURLE_SSL_ENGINE_NOTFOUND (53)

找不到指定的加密引擎。

CURLE_SSL_ENGINE_SETFAILED (54)

将选定的SSL加密引擎设置为默认引擎失败。

CURLE_SEND_ERROR (55)

发送网络数据失败。

CURLE_RECV_ERROR (56)

接收网络数据失败。

Obsolete error (57)

不用于现代版本。

CURLE_SSL_CERTPROBLEM (58)

本地客户端证书有问题。

CURLE_SSL_CIPHER (59)

无法使用指定的密码。

CURLE_PEER_FAILED_VERIFICATION (60)

远程服务器的SSL证书或SSH指纹被认为不正确。自7.62.0起,此错误代码已与CURLE_SSL_CACERT统一。其前值为51。

CURLE_BAD_CONTENT_ENCODING (61)

无法识别的传输编码。

Obsolete error (62)

不用于现代版本。

CURLE _ FILESIZE _ exceed(63)

超过了最大文件大小。

CURLE _ USE _ SSL _ FAILED(64)

请求的FTP SSL级别失败。

CURLE_SEND_FAIL_REWIND (65)

在执行发送操作时,curl必须倒带数据以重新传输,但倒带操作失败。

CURLE _ SSL _ ENGINE _ init failed(66)

启动SSL引擎失败。

CURLE _ log in _ DENIED(67)

远程服务器拒绝curl登录(在7.13.1中添加)

CURLE_TFTP_NOTFOUND (68)

在TFTP服务器上找不到文件。

CURLE_TFTP_PERM (69)

TFTP服务器上的权限问题。

CURLE_REMOTE_DISK_FULL (70)

服务器上的磁盘空间不足。

CURLE_TFTP_ILLEGAL (71)

非法TFTP行动。

CURLE_TFTP_UNKNOWNID (72)

未知的TFTP转账ID。

CURLE _ REMOTE _ FILE _ EXISTS(73)

文件已经存在且未被覆盖。

CURLE_TFTP_NOSUCHUSER (74)

正常运行的TFTP服务器不应返回此错误。

Obsolete error (75-76)

不用于现代版本。

CURLE _ SSL _ CACERT _ BADFILE(77)

读取SSL CA证书时出现问题(路径?访问权限?)

CURLE _ REMOTE _ FILE _ NOT _ FOUND(78)

URL中引用的资源不存在。

CURLE_SSH (79)

SSH会话期间出现未指定的错误。

CURLE _ SSL _ shut down _ FAILED(80)

无法关闭SSL连接。

CURLE_AGAIN (81)

套接字未准备好发送/接收。等待它准备好,然后重试。此返回代码仅从返回curl_easy_recv和卷曲_轻松_发送(在7.18.2中添加)

CURLE _ SSL _ CRL _ BADFILE(82)

无法加载CRL文件(在7.19.0中添加)

CURLE _ SSL _ ISSUER _ ERROR(83)

发行者检查失败(在7.19.0中添加)

CURLE _ FTP _ PRET _ FAILED(84)

FTP服务器根本不理解PRET命令或不支持给定的参数。使用时要小心CURLOPT_CUSTOMREQUEST,自定义列表命令也在PASV之前与PRET命令一起发送。(在7.20.0中添加)

CURLE_RTSP_CSEQ_ERROR (85)

RTSP CSeq数不匹配。

CURLE_RTSP_SESSION_ERROR (86)

RTSP会话标识符不匹配。

CURLE_FTP_BAD_FILE_LIST (87)

无法解析FTP文件列表(在FTP通配符下载期间)。

CURLE _ CHUNK _ FAILED(88)

区块回调报告了错误。

CURLE _ NO _ CONNECTION _ AVAILABLE(89)

(仅供内部使用,libcurl从不返回)没有连接可用,会话排队。(在7.30.0中添加)

CURLE _ SSL _ PINNEDPUBKEYNOTMATCH(90)

无法匹配用指定的固定密钥CURLOPT_PINNEDPUBLICKEY.

CURLE _ SSL _ INVALIDCERTSTATUS(91)

询问时,状态返回失败CURLOPT_SSL_VERIFYSTATUS.

CURLE _ http 2 _ STREAM(92)

HTTP/2帧层中的流错误。

CURLE _ RECURSIVE _ API _ CALL(93)

从回调内部调用了API函数。

CURLE _ AUTH _ ERROR(94)

身份验证函数返回错误。

CURLE _ http 3(95)

在HTTP/3层检测到一个问题。这是一个普通的问题,可能是几个问题中的一个。有关详细信息,请参见错误缓冲区。

CURLE_QUIC_CONNECT_ERROR (96)

QUIC连接错误。此错误可能是由SSL库错误引起的。QUIC是用于HTTP/3传输的协议。

CURLE _ PROXY(97)

代理握手错误。CURLINFO_PROXY_ERROR提供特定问题的额外详细信息。

CURLE _ SSL _ client cert(98)

需要SSL客户端证书。

CURLE_UNRECOVERABLE_POLL (99)

对poll()或select()的内部调用返回了不可恢复的错误。

CURLE_TOO_LARGE (100)

值或数据字段变得比允许的大。

CURLE_ECH_REQUIRED (101)

ECH尝试过,但失败了。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_1052278.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

军工单位如何做到安全跨网文件交换与导出的

在现代信息化战争中&#xff0c;军工单位在信息安全方面的需求尤为突出。跨网文件交换与导出作为军工单位日常运营的重要环节&#xff0c;面临着网络带宽限制、数据安全风险、合规性要求和传输稳定性等挑战。下面&#xff0c;我们将从以下几个方面探讨军工单位如何实现安全、高…

2024新数据库入门教程

1.官网下载MySQL 下载Mysql链接: 点击下载mysql 下载完成后解压到某一个文件夹&#xff08;记住这个路径&#xff0c;一会要用到&#xff09; 2.配置初始化文件my.ini 在根目录下创建一个txt文件&#xff0c;名字叫my&#xff0c;文件后缀为ini 以下代码除安装目录和数…

18.分布式监控zabbix-proxy

zabbix proxy 使用场景: 监控远程区域设备监控本地网络不稳定区域当 zabbix 监控上千设备时,使用它来减轻 server 的压力简化分布式监控的维护 环境规划&#xff1a; zabbix-server&#xff1a;外网IP地址192.168.111.66 zabbix-proxy:外网IP地址192.168.111.11 内网IP地址…

【RabbitMQ】使用SpringAMQP的Publish/Subscribe(发布/订阅)

Publish/Subscribe **发布(Publish)、订阅(Subscribe)&#xff1a;**允许将同一个消息发送给多个消费者 **注意&#xff1a;**exchange负责消息路由&#xff0c;而不是存储&#xff0c;路由失败则消息丢失 常见的**X(exchange–交换机)***类型&#xff1a; Fanout 广播Direc…

HNCTF

HNCTF 文章目录 HNCTFBabyPQEZmathez_Classicf(?*?)MatrixRSABabyAESIs this Iso? BabyPQ nc签到题&#xff0c;跟端口连接拿到n和phin n 8336450100232098099043686671148282601664696810002345240872579498695511770993195704402414029892029461830476866385453475141207…

完全背包+背包装满 总结

目录 1.背包恰好装满 &#xff08;1&#xff09;问题是什么 &#xff08;2&#xff09;问题的有效状态和无效状态 &#xff08;3&#xff09;问题的常考形式&#xff0c;以及如何去处理 1.值的大小 2.组合个数 3.排列个数 2.例题 A. Cut Ribbon HDU1114 Piggy-Bank …

冯喜运:5.27黄金短线看震荡,今日黄金原油走势分析

【黄金消息面分析】&#xff1a;黄金作为传统的避险资产&#xff0c;在经济不确定性中扮演着至关重要的角色。近期&#xff0c;国际黄金价格经历了显著的波动。从5月9日的低点2325.19美元/盎司反弹至2340美元/盎司以上&#xff0c;尽管金价曾一度触及2449.89美元/盎司的历史高点…

基于SSM前后端分离版本的论坛系统

目录 前言 一、项目背景 二、相关技术及工具 三、数据库设计 四、软件开发 4.1、搭建环境 4.1.1、创建工程 4.1.2、配置application.yml文件 4.1.3、环境测试 创建测试接口 4.1.4、继续配置 4.2、公共组件 4.2.1、创建工程结构 4.2.2、配置数据源 添加相关依赖 …

如何使用 Re-Ranking 改进大模型 RAG 检索

基于大型语言模型&#xff08;LLMs&#xff09;的聊天机器人可以通过检索增强生成&#xff08;RAG&#xff09;提供外部知识来改进。 这种外部知识可以减少错误答案&#xff08;幻觉&#xff09;&#xff0c;并且使模型能够访问其训练数据中未包含的信息。 通过RAG&#xff0…

科技产业园3D探秘:未来科技之城的奇幻之旅

在数字时代的浪潮中&#xff0c;科技产业园区成为了推动城市经济发展、科技创新的重要引擎。 当我们打开科技产业园的3D可视化模型&#xff0c;仿佛穿越时空&#xff0c;来到了一个充满奇幻色彩的科技世界。在这里&#xff0c;高楼大厦鳞次栉比&#xff0c;绿色植被点缀其间&am…

java图书电子商务网站的设计与实现源码(springboot+vue+mysql)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的图书电子商务网站的设计与实现。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 项目简介&#xff1a; 图书电子商…

堆结构知识点复习——玩转堆结构

前言:堆算是一种相对简单的数据结构&#xff0c; 本篇文章将详细的讲解堆中的知识点&#xff0c; 包括那些我们第一次学习堆的时候容易忽略的内容&#xff0c; 本篇文章会作为重点详细提到。 本篇内容适合已经学完C语言数组和函数部分的友友们观看。 目录 什么是堆 建堆算法…

Qt | QGridLayout 类(网格布局)

01、上节回顾 Qt | QBoxLayout 及其子类(盒式布局)02、QGridLayout 简介 1、网格布局原理(见下图): 基本原理是把窗口划分为若干个单元格,每个子部件被放置于一个或多个单元格之中,各 单元格的大小可由拉伸因子和一行或列中单元格的数量来确定,若子部件的大小(由 sizeH…

区别Scanner 类的 nextLine() 和 next() 方法

Scanner 类的 nextLine() 和 next() 方法区别有以下几点&#xff1a; 1、读取内容 nextLine() 方法读取输入直到遇到换行符&#xff08;\n 或 \r\n&#xff09;&#xff0c;包括空格和制表符在内的所有字符都将被读取。它返回的字符串是包含所有这些字符的一行。next() 方法读…

CLIP源码详解:clip.py 文件

前言 这是关于 CLIP 源码中的 clip.py 文件中的代码带注释版本。 clip.py 文件的作用&#xff1a;封装了 clip 项目的相关 API&#xff0c;通过这些 API &#xff0c;我们可以轻松使用 CLIP 项目预训练好的模型进行自己项目的应用。 另外不太容易懂的地方都使用了二级标题强…

必示科技参与智能运维国家标准预研线下编写会议并做主题分享

近日&#xff0c;《信息技术服务 智能运维 第3部分&#xff1a;算法治理》&#xff08;拟定名&#xff09;国家标准预研阶段第一次编写工作会议在杭州举行。本次会议由浙商证券承办。 此次编写有来自银行、证券、保险、通信、高校研究机构、互联网以及技术方等29家单位&#xf…

使用 Android Jetpack 的 Room 部分将数据保存到本地数据库

处理大量结构化数据的应用可极大地受益于在本地保留这些数据。最常见的使用场景是缓存相关的数据&#xff0c;这样一来&#xff0c;当设备无法访问网络时&#xff0c;用户仍然可以在离线状态下浏览该内容。 Room 持久性库在 SQLite 上提供了一个抽象层&#xff0c;以便在充分利…

Linux操作系统最著名的两大系列Red Hat和Debian

Linux操作系统可以根据其背后的项目或社区分为不同的系列&#xff0c;其中最著名的两大系列是Red Hat系列和Debian系列。 1.著名的两大系列是Red Hat和Debian Red Hat系列&#xff1a; Red Hat Enterprise Linux (RHEL)&#xff1a;这是Red Hat公司推出的企业级操作系统&#…

【CSharp】将ushort数组保存为1通道位深16bit的Tiff图片

【CSharp】将ushort数组保存为1通道位深16bit的Tiff图片 1.背景2.接口 1.背景 System.Drawing.Common 是一个用于图像处理和图形操作的库&#xff0c;它是 System.Drawing 命名空间的一部分。由于 .NET Core 和 .NET 5 的跨平台特性&#xff0c;许多以前内置于 .NET Framework…

产品经理-产品设计规范(六)

1. 设计规范 2. 七大定律 2.1 菲茨定律 2.1.1 概念 2.1.2 理解 2.1.3 启示 按钮等可点击对象需要合理的大小尺寸根据用户使用习惯合理设计按钮的相对和绝对位置屏幕的边和角很适合放置像菜单栏和按钮这样的元素 2.1.4 参考使用手机习惯 2.1.5 案例 2.2 席克定律 2.2.1 概念 …