
运营商二要素
企业用户实名使用个人用户实名使用个人用户无法使用
传入姓名、手机号码,校验此两项是否一致。支持移动、联通、电信三网手机号二要素的验证,直连运营商数据源。
价格
¥0元/5次
新用户免费体验,自购买起有效期1个月
选择套餐:

接口名称:运营商2要素验证
描述:传入姓名、手机号校验是否一致
请求地址 url:https://api.shuxuntech.com/v1/mobile2/check
请求方式 method:get/post
参数:
| 名称 | 参数位置 | 类型 | 是否必填 | 说明 |
|---|---|---|---|---|
| appKey | head | string | 是 | 数勋分配appKey |
| timestamp | head | string | 是 | 当前时间的毫秒数 |
| sign | head | string | 是 | 签名 |
| name | query | string | 是 | 姓名 |
| mobile | query | string | 是 | 手机号 |
签名算法说明:
数勋分配的appKey、当前unix时间毫秒数timestamp、数勋分配的appSecret、 按顺序拼接sha256加密得到sign,查看如下示例
appKey = aaa;
timestamp = 1682476904289;
appSecret = bbb;
sign = sha256(appKey+timestamp+appSecret)
正确返回:
{
"code": "0",
"msg": "成功",
"isFee": 1,
"seqNo": "naqeqd6ub6vvdhuixvox3e63qmak8ef7",
"data": {
"result": 1,
"resultDesc": "核验一致",
"mobileChannel": "cmcc"
}
}
错误返回:
{
"code": "1",
"msg": "请输入有效的电话号码",
"isFee": 0,
"seqNo": null,
"data": null
}
返回字段描述:
| 字段名 | 类型 | 描述 |
|---|---|---|
| code | string | 错误码 |
| msg | string | 错误描述 |
| isFee | int | 是否计费(1:计费,0:不计费) |
| seqNo | string | 调用流水号 |
| data | object | 返回数据 |
data对象说明
| 字段名 | 类型 | 描述 |
|---|---|---|
| result | int | 核验结果(1:一致,2:不一致,3:无记录) |
| resultDesc | string | 核验结果描述 |
| mobileChannel | string | 运营商,(cmcc:移动、cucc:联通、ctcc:电信、gdcc:广电) |
code错误码说明
| code | 说明 |
|---|---|
| 0 | 成功 |
| 1 | 参数错误 |
| 3 | 第三方服务异常 |
| 4 | 签名错误 |
| 5 | 余额不足 |
| 6 | 调用频率超限 |
| 7 | 账号停用 |
| 8 | 接口已停用 |
| 9 | 联系服务商开通接口权限 |
| 10 | ip不在白名单 |
| 11 | 系统异常 |
| 12 | 实名状态错误 |
| 99 | 其他异常,具体返回为准 |
运营商2要素
package com.shuxun.data.impl.demo;
import com.shuxun.common.core.util.HttpUtil;
import org.apache.commons.codec.digest.DigestUtils;
import java.util.HashMap;
import java.util.Map;
public class Mobile2CheckDemo {
private static final String APP_KEY = "您的appKey";
private static final String APP_SECRET = "您的appSecret";
private static final String API_URL = "https://api.shuxuntech.com/v1/mobile2/check";
public static void main(String[] args) {
String timestamp = System.currentTimeMillis()+"";
String sign = DigestUtils.sha256Hex(APP_KEY + timestamp + APP_SECRET);
Map<String, String> header = new HashMap<>(4);
header.put("appKey", APP_KEY);
header.put("timestamp", timestamp);
header.put("sign", sign);
Map<String, String> params = new HashMap<>(2);
params.put("name", "");
params.put("mobile", "");
// 工具类下载地址 https://file.shuxuntech.com/other/code/util.zip
String result = HttpUtil.get(API_URL, header, params);
System.out.println("返回结果="+result);
}
}
import requests
import time
import hashlib
appKey = "您的appKey"
appSecret = "您的appSecret"
url = "https://api.shuxuntech.com/v1/mobile2/check"
method = 'POST'
time = time.time()
timestamp = str(round(time * 1000))
print (timestamp)
tmp = appKey + timestamp + appSecret
sign = hashlib.sha256(tmp.encode("utf8")).hexdigest()
headers = {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
'appKey': appKey
'timestamp': timestamp
'sign': sign
}
params = {}
params['name'] = ''
params['mobile'] = ''
response = requests.post(url, data = params, headers = headers)
print (response.text)
<?php
$appKey = "您的appKey";
$appSecret= "您的appSecret";
$url = "https://api.shuxuntech.com/v1/mobile2/check";
$method = "POST";
$timestamp = getUnixTimestamp();
var_dump($timestamp);
$sign = hash('sha256',$appKey . $timestamp . $appSecret);
var_dump($sign);
$headers = array();
array_push($headers, "Content-Type" . ":" . "application/x-www-form-urlencoded; charset=UTF-8");
array_push($headers, "appKey" . ":" . $appKey);
array_push($headers, "timestamp" . ":" . $timestamp);
array_push($headers, "sign" . ":" . $sign);
$name = "";
$mobile = "";
$bodys = "name=" . $name . "&mobile=" . $mobile;
$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
if (1 == strpos("$".$url, "https://")) {
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
var_dump(curl_exec($curl));
function getUnixTimestamp () {
list($s1, $s2) = explode(' ', microtime());
return sprintf('%.0f',(floatval($s1) + floatval($s2)) * 1000);
}
using System;
using System.IO;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text;
public class ApiDemo {
private const String url = "https://api.shuxuntech.com/v1/mobile2/check";
private const String method = "POST";
private const String appKey = "您的appKey";
private const String appSecret = "您的appSecret";
public static void Main(string[] args) {
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
String timestamp = Convert.ToInt64(ts.TotalMilliseconds).ToString();
String sign = SHA256(appKey + timestamp + appSecret);
HttpWebRequest httpRequest = null;
HttpWebResponse httpResponse = null;
httpRequest = (HttpWebRequest) WebRequest.CreateDefault(new Uri(url));
httpRequest.Method = method;
httpRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
httpRequest.Headers.Add("appKey", appKey);
httpRequest.Headers.Add("timestamp", timestamp);
httpRequest.Headers.Add("sign", sign);
String name = "";
String mobile = "";
String params = "name=" + name + "&mobile=" + mobile;
byte[] data = Encoding.UTF8.GetBytes(params);
using (Stream stream = httpRequest.GetRequestStream()) {
stream.Write(data, 0, data.Length);
}
httpResponse = (HttpWebResponse) httpRequest.GetResponse();
Console.WriteLine(httpResponse.StatusCode);
Stream st = httpResponse.GetResponseStream();
StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
Console.WriteLine(reader.ReadToEnd());
}
public static string SHA256(string str) {
byte[] SHA256Data = Encoding.UTF8.GetBytes(str);
SHA256Managed Sha256 = new SHA256Managed();
byte[] by = Sha256.ComputeHash(SHA256Data);
return BitConverter.ToString(by).Replace("-", "").ToLower();
}
}
java
python
php
c#
产品详情
API文档
示例代码
产品价格










