使用PHP的OTP
使用PHP生成OTP令牌(一次性密码)
PHP : API文档
使用PHP的OTP
<?
$class="otp";
$method="generateotp";
$user="user";
$password="password";
$type="number";
$destination="34600000000";
$time=1;
$timetype="days";
$length=6;
$otpformat=all;
$output="";
$result = file_get_contents("https://www.afilnet.com/api/http/?class=".$class."&method=".$method."&user=".$user."&password=".$password."&type=".$type."&destination=".$destination."&time=".$time."&timetype=".$timetype."&length=".$length."&otpformat=".$otpformat."&output=".$output);
?>
<?
$url = "https://www.afilnet.com/api/http/";
$fields = array(
"class" => urlencode("otp"),
"method" => urlencode("generateotp"),
"user" => urlencode("user"),
"password" => urlencode("password"),
"type" => urlencode("number"),
"destination" => urlencode("34600000000"),
"time" => urlencode(1),
"timetype" => urlencode("days"),
"length" => urlencode(6),
"otpformat" => urlencode(all),
"output" => urlencode(""),
);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
curl_close($ch);
?>
<?
$url = "https://www.afilnet.com/api/basic/";
$fields = array(
"class" => urlencode("otp"),
"method" => urlencode("generateotp"),
"type" => urlencode("number"),
"destination" => urlencode("34600000000"),
"time" => urlencode(1),
"timetype" => urlencode("days"),
"length" => urlencode(6),
"otpformat" => urlencode(all),
"output" => urlencode(""),
);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_USERPWD, $user.":".$password);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($ch,CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if($httpcode == 401)
{
// LOGIN ERROR
} else {
// SUCCESS LOGIN
}
?>
<?
# This example requires nusoap
require_once('nusoap.php');
$class="otp";
$method="generateotp";
$user="user";
$password="password";
$type="number";
$destination="34600000000";
$time=1;
$timetype="days";
$length=6;
$otpformat=all;
$output="";
# Create SOAP Client
$soapclient = new soapclient('https://www.afilnet.com/api/soap/index.php?wsdl');
# Call to method
$result = $soapclient->call($user, $password, $class, $method, '{"type":"'.$type.'","destination":"'.$destination.'","time":"'.$time.'","timetype":"'.$timetype.'","length":"'.$length.'","otpformat":"'.$otpformat.'","output":"'.$output.'"}');
?>
参数 | 描述 | 必修/可选 |
---|---|---|
class=otp | 要求的课程:要求的课程 | 必修 |
method=generateotp | 请求的类方法:发出请求的类的方法 | 必修 |
user | 您的Afilnet帐户的用户和电子邮件 | 必修 |
password | 您的Afilnet帐户的密码 | 必修 |
type | 群组类型(电子邮件或手机) | 必修 |
destination | 手机号码或目的地电子邮件 | 必修 |
time | 天数,周数,月数或年数 | 可选的 |
timetype | 时间类型(可能的值:天,周,月或年) | 可选的 |
length | 密码长度 | 可选的 |
otpformat | 要生成的密码格式,如果包含所有字符,仅数字或仅字母(全部,数字,字母) | 可选的 |
output | 结果的输出格式 | 可选的 |
发出请求时,您将收到以下字段:
- status
-
结果(如果status = success),您将在此处收到以下值:
- 没有其他值会发送给您
- 错误(如果status = error),在这里您将收到错误代码
下面列出了可能的错误代码
码 | 描述 |
---|---|
MISSING_USER | 不包括用户或电子邮件 |
MISSING_PASSWORD | 不包含密码 |
MISSING_CLASS | 不包括课程 |
MISSING_METHOD | 不包括方法 |
MISSING_COMPULSORY_PARAM | 不包括强制参数 |
INCORRECT_USER_PASSWORD | 用户或密码错误 |
INCORRECT_CLASS | 班级不正确 |
INCORRECT_METHOD | 方法不正确 |
INCORRECT_TIME_TYPE | 时间类型不正确(可能的值:天,周,月或年) |
INCORRECT_TYPE | 类型不正确。该类型必须为手机或电子邮件 |
INCORRECT_FORMAT | ERROR_INCORRECT_FORMAT |
INCORRECT_OTP_FORMAT | ERROR_INCORRECT_OTP_FORMAT |
参数:
- class : otp
- method : generateotp
- user : user
- password : password
- type : number
- destination : 34600000000
- time : 1
- timetype : days
- length : 6
- otpformat : all
- output :
请求:
https://www.afilnet.com/api/http/?class=otp&method=generateotp&user=user&password=password&type=number&destination=34600000000&time=1&timetype=days&length=6&otpformat=all&output=