Sending method: 1. Real-name authentication and activate SMS API interface service, obtain API request KEY; 2. Apply for SMS template and wait for approval; 3. Call API interface, through "function juheHttpRequest($url,$ params=false,$ispost=0){...}" method to initiate a network request, process the data and return the result; 4. Use "$response=juheHttpRequest(...);" to accept the content and output it.
The operating environment of this tutorial: windows7 system, PHP8.1 version, DELL G3 computer
SMS based on PHP API interface call example
Preliminary preparation
-
Real-name authentication
According to the requirements of the operator, this interface is currently only open to real-name authenticated enterprise users, so please make sure you are a real-name authenticated enterprise user before using it
-
Apply for the interface, Obtain the interface calling credential request key
through
https://www.juhe.cn/docs/api/id/54?s=cpphpcn
Self-service application to open the interfaceYou can see the calling certificate request key of this interface in Personal Center ➡️ Data Center ➡️ My API module
Number of requests to purchase data (free and free interfaces with complimentary times can be debugged first )
Apply for SMS template in advance in the personal center of the official website of the aggregation. The interface can only be called after the customer service review is passed
Special Instructions
Please read the Interface Document of the official website carefully. This is an agreement between aggregate data and developers. , it will help you understand the interface business, so as to carry out development work smoothly
The focus of this example is to help developers successfully obtain the response data of the interface. For This article will not discuss the developer's business logic such as data processing.
This example aims to simplify the developer's calling steps to the greatest extent. It does not encapsulate the functional modules into independent tool classes. It is convenient for developers to directly run and debug after copying with one click
Due to limited ability, there are inevitably errors and omissions in the examples. If you find any, please criticize and correct them
Interface Remarks
The operator restricts the content of the same number and the same signature within 1 minute. Receive 1 message, 3 messages in 10 minutes, 4 messages in 1 hour, 20 messages in a day, otherwise it may be blocked by the operator
The SMS API interface itself does not limit the sending frequency, the specific sending frequency Users need to set it by themselves, only domestic mobile phone numbers
Please be sure to add image verification codes and other anti-malicious attack mechanisms to prevent text message bombardment. Add T at the end of the marketing content to unsubscribe, marketing SMS sending time is: 8:30 to 21:30. Marketing content has an anti-phishing mechanism. Please do not send a single message. The minimum number of mobile messages is 20 (cyclic calls). China Unicom and Telecom do not limit
SMS content (including signatures) of less than or equal to 70 characters will be counted. Fee 1. Text messages exceeding 70 characters are considered long messages and will be charged for every 67 characters.
Parameter description
Parameter name | Required | Description |
---|---|---|
true | Mobile phone number | |
true | template id | |
true | Applying request key | |
false | Template variables are determined based on the variables in the template. Can be empty |
##All codes<?php
// 请求的接口URL
$apiUrl = 'http://v.juhe.cn/sms/send?';
// 请求参数
$params = [
// 模板id
'tpl_id' => '模板id',
// 您申请的接口调用Key
'key' => '您申请的接口调用Key',
//发送的手机号
'mobile' => '发送的手机号',
//结合自己的模板中的变量进行设置,如果没有变量,可以删除此参数
'tpl_value' => urlencode('#total#=1000&#used#=100&#balance#=900'),
];
$paramsString = http_build_query($params);
// 发起接口网络请求
$response = null;
try {
$response = juheHttpRequest($apiUrl, $paramsString, 1);
} catch (Exception $e) {
var_dump($e);
//此处根据自己的需求进行自身的异常处理
}
if (!$response) {
echo "请求异常" . PHP_EOL;
}
$result = json_decode($response, true);
if (!$result) {
echo "请求异常" . PHP_EOL;
}
$errorCode = $result['error_code'];
if ($errorCode === 0) {
$data = $result['result'];
echo "请求唯一标示:{$data["sid"]}" . PHP_EOL;
echo "请求消耗次数:{$data["fee"]}" . PHP_EOL;
} else {
// 请求异常
echo "请求异常:{$errorCode}_{$result["reason"]}" . PHP_EOL;
}
/**
* 发起网络请求函数
* @param string $url 请求的URL
* @param bool $params 请求的参数内容
* @param int $ispost 是否POST请求
* @return bool|string 返回内容
*/
function juheHttpRequest($url, $params = false, $ispost = 0)
{
$httpInfo = [];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch, CURLOPT_TIMEOUT, 12);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if ($ispost) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_URL, $url);
} else {
if ($params) {
curl_setopt($ch, CURLOPT_URL, $url . '?' . $params);
} else {
curl_setopt($ch, CURLOPT_URL, $url);
}
}
$response = curl_exec($ch);
if ($response === FALSE) {
// echo "cURL Error: ".curl_error($ch);
return false;
}
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$httpInfo = array_merge($httpInfo, curl_getinfo($ch));
curl_close($ch);
return $response;
}
Recommended learning: "
The above is the detailed content of How to send text messages in php. For more information, please follow other related articles on the PHP Chinese website!

The article compares ACID and BASE database models, detailing their characteristics and appropriate use cases. ACID prioritizes data integrity and consistency, suitable for financial and e-commerce applications, while BASE focuses on availability and

The article discusses securing PHP file uploads to prevent vulnerabilities like code injection. It focuses on file type validation, secure storage, and error handling to enhance application security.

Article discusses best practices for PHP input validation to enhance security, focusing on techniques like using built-in functions, whitelist approach, and server-side validation.

The article discusses strategies for implementing API rate limiting in PHP, including algorithms like Token Bucket and Leaky Bucket, and using libraries like symfony/rate-limiter. It also covers monitoring, dynamically adjusting rate limits, and hand

The article discusses the benefits of using password_hash and password_verify in PHP for securing passwords. The main argument is that these functions enhance password protection through automatic salt generation, strong hashing algorithms, and secur

The article discusses OWASP Top 10 vulnerabilities in PHP and mitigation strategies. Key issues include injection, broken authentication, and XSS, with recommended tools for monitoring and securing PHP applications.

The article discusses strategies to prevent XSS attacks in PHP, focusing on input sanitization, output encoding, and using security-enhancing libraries and frameworks.

The article discusses the use of interfaces and abstract classes in PHP, focusing on when to use each. Interfaces define a contract without implementation, suitable for unrelated classes and multiple inheritance. Abstract classes provide common funct


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version
Useful JavaScript development tools

Atom editor mac version download
The most popular open source editor

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software