本文目录一览:
PHP如何实现短信接口的调用?
如下代码示例是阅信短信验证码平台为方便客户提供的短信接口请求的代码示例,使用前还需要用户提前申请API服务和在短信模板中新增加一个版块,并且审核通过。
<?php
date_default_timezone_set('PRC'); // 设置时区为东八区否则时间比北京时间早8小时
$url = '端口号'; // 接口地址
$mttime = date("YmdHis");
$name = '*******'; // 开通的用户名
$password = '*****************'; // 密码
$post_data['name'] = $name;
$post_data['pwd'] = md5($password . $mttime);
$post_data['content'] = '【阅信短信平台】验证码888888,打死也不能告诉别人哦。';
$post_data['phone'] = '12345678901'; // 手机号码
$post_data['subid'] = '';
$post_data['mttime'] = $mttime;
$o = "";
foreach ($post_data as $k => $v) {
$o .= "$k=" . urlencode($v) . "&";
}
$post_data = substr($o, 0, -1);
$res = request_post($url, $post_data);
print $res;
/**
* 模拟post进行url请求
* @param string $url
* @param string $param
*/
function request_post($url = '', $param = '') {
if (empty($url) || empty($param)) {
return false;
}
$postUrl = $url;
$curlPost = $param;
$ch = curl_init(); // 初始化curl
curl_setopt($ch, CURLOPT_URL, $postUrl); // 抓取指定网页
curl_setopt($ch, CURLOPT_HEADER, 0); // 设置header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 要求结果为字符串且屏幕上
curl_setopt($ch, CURLOPT_POST, 1); // post提交方式
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec($ch); // 运行curl
curl_close($ch);
return $data;
}
php 怎么写短信接口
首先你要了解一下短信的发送方式。 其实 接口 都是一种规定好了的函数,你把调用这个函数的规则写好,这就是接口了; 你把接口给你的客户,客户通过一些参数来请求这个函数,客户通过json或xml发送请求字符串给你,你接收字符串后,通过你事先定好的规则,把这个字符串解析出来,验证是否是正确的,正确你就执行客户传过来的电话号码和短信内容,通过你的平台发送内容,没通过就返回错误信息。
我有移动提供的短信接口,请问怎么用php调用这些接口发送短信呢?
移动的接口是什么风格的?是soap的还是自定义的? 调用自定义接口通常有以下步骤:
- 阅读接口文档
- 数据接口一般会提供一些参数。如果是GET接口,请将参数拼接在地址的后面(推荐使用
http_build_query
)。如果是POST接口,看我的示例代码。 - 请求数据
- 解析返回的内容,判断调用是否成功。一般返回的内容有xml和json格式。 给你一个CURL调用POST接口的例子:
<?php
$ch = curl_init('省略接口地址, 防止屏蔽');
// 以下选项设为true,否则接口返回的内容会直接打印在页面上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 连接超时,一定要设置
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
// 连接成功后,请求超时,一定要设置
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
// 使用POST请求
curl_setopt($ch, CURLOPT_POST, 1);
// 将参数POST过去, $post_data是你的参数组成的关联数组
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
// 提交请求,得到反馈
$response = curl_exec($ch);
// 解析反馈的内容,略
如果是SOAP风格的,请查阅PHP文档SoapClient类的用法。因为Soap规范不统一,使用其他语言实现的Soap可能和PHP不兼容。 以前我使用过移动梦网的接口(不是移动的接口),它提供两种风格的API。它的Soap就和PHP不兼容。所以我选择了自定义风格的API。