<?php

$uid = 28;
$vhost = 'asdfw'; $token = getToken($uid, $vhost);
print_r($token);
//获取token
function getToken($uid, $vhost){
$skey = 'wEBxca5X9NArc5Hq';
$time = time();
$vdata = array(
'uid'=>$uid,
't'=>$time,
'skey'=>$skey,
'sign'=>md5(md5($uid.$skey).$time),
'vhost'=>$vhost
); $url = 'http://192.168.1.210/api2/site/index.php/token'; //sfvft3jdsutl7sebsa0d95padn
return curlCall($url, $vdata)['token'];
} // $domainlist = getDomainList($uid, $vhost, $token);
// print_r($domainlist);
//获取域名列表
function getDomainList($uid, $vhost, $token){
$vdata = array(
'uid' => $uid,
'vhost'=>$vhost,
'token'=>trim($token)
); $url = 'http://192.168.1.210/api2/site/index.php/domain/list';
return curlCall($url, $vdata);
} // $domainlist = addNewDomain($uid, $vhost, $token, 'test.com', '4.3.2.1');
// print_r($domainlist);
//添加新域名
function addNewDomain($uid, $vhost, $token, $domain, $host){
$vdata = array(
'uid' => $uid,
'vhost'=>$vhost,
'token'=>trim($token),
'domain'=>$domain,
'host'=>$host
); $url = 'http://192.168.1.210/api2/site/index.php/domain';
return curlCall($url, $vdata);
} // $ret = delDomainById($uid, $vhost, $token,1);
// print_r($ret);
//删除域名
function delDomainById($uid, $vhost, $token, $id){
$vdata = array(
'uid' => $uid,
'vhost'=>$vhost,
'token'=>trim($token)
);
$url = 'http://192.168.1.210/api2/site/index.php/domain/'.$id;
return curlCall($url, $vdata, "DELETE");
} // $ret = editDomain($uid, $vhost, $token, "b.com", "3.3.3.3");
// print_r($ret);
//修改域名
function editDomain($uid, $vhost, $token, $domain, $host){
$vdata = array(
'uid' => $uid,
'vhost'=>$vhost,
'token'=>trim($token),
'domain'=>$domain,
'host'=>$host
);
$url = 'http://192.168.1.210/api2/site/index.php/domain/2';
return curlCall($url, $vdata, "PUT");
} $value = '[{"id":1,"or":1,"revers":1,"name":"url","value":{"url":"asdfww"}},{"id":2,"or":1,"revers":1,"name":"meth","value":{"val":"DELETE"}}]';
$ret = addAdvance($uid, $vhost, $token, $host, 1, 0, $value);
print_r($ret);
//添加高级设置
function addAdvance($uid, $vhost, $token, $host, $id, $jump_type, $value){
$vdata = array(
'uid' => $uid,
'vhost'=>$vhost,
'token'=>trim($token),
'host'=>$host,
'id'=>$id,
'jump_type'=>$jump_type,
'value'=>$value
);
$url = 'http://192.168.1.210/api2/site/index.php/firewall/advanced';
return curlCall($url, $vdata, "post");
} function curlCall(String $url, array $vdata, String $method="post"){
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$param = array();
foreach ($vdata as $key=>$val) {
$arr = array_push($param, $key."=".$val);
}
$param = join("&",$param);//拼接后的参数原始字符串示例:uid=28&vhost=asdfw&token=o9b1fuccgurb7l6m5benjopase&domain=b.com&host=2.2.2.2
switch(strtolower($method)) {
case 'get':
curl_setopt($ch, CURLOPT_POSTFIELDS, $param); //设置请求体,提交数据包
break;
case 'post':
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param); //设置请求体,提交数据包
break;
case 'put':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $param); //设置请求体,提交数据包
break;
case 'delete':
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($ch, CURLOPT_POSTFIELDS, $param); //设置请求体,提交数据包
break;
}
curl_setopt($ch,CURLOPT_HEADER,0);
$output = curl_exec($ch);
if($output === FALSE ){
echo "CURL Error:".curl_error($ch);
}
curl_close($ch);
return json_decode($output, true);
}

cdnbest获取,删除,增加,修改域名列表,高级设置api示例的更多相关文章

  1. 原生js删除增加修改class属性

    其实html5已经扩展了class操作的相关API,其中classList属性就以及实现了class的增删和判断. HTML DOM classList 属性 classList属性的方法有: add ...

  2. 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)

    1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...

  3. Oracle 增加修改删除字段与添加注释

    添加字段的语法:alter table tablename add (column datatype [default value][null/not null],….); 修改字段的语法:alter ...

  4. Oracle 增加修改删除字段

    Oracle 增加修改删除字段 添加字段的语法:alter table tablename add (column datatype [default value][null/not null],…. ...

  5. python3之对本地TXT文件进行增加,删除,修改,查看功能。

    由于是初学,代码如有不足,欢迎指出! 本博客记录我的编程之路,记录所学到的知识,分享所学心得! 这是我的一个作业. 首先分析要求: 创建一个TXT文件用于存储账号与密码 实现对文件进行增加,删除,修改 ...

  6. ajax+php数据增加查询获取删除

    前段代码部分其实前面已经有写出但是做一点修改所以还是贴出来,可能大家看到代码回不理解,看完图我想大家会理解我为什么这么写了,这和前端布局有关系的,先列出内容在选择内容删除或修改 <!DOCTYP ...

  7. Oracle表字段的增加、删除、修改和重命名

    本文主要是关于Oracle数据库表中字段的增加.删除.修改和重命名的操作. 增加字段语法:alter table tablename add (column datatype [default val ...

  8. 使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响?

    使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响? 1.问题:各操作间或者性能上会不会有影响? 如果有该如何解决? 多用户操作的影响主要是回锁定记录,oracl ...

  9. AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层

    AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层 AutoCad 二次开发 .net 之层表的增加 删除 修改图层颜色 遍历 设置当前层我理解的图层的作用大概是把 ...

随机推荐

  1. 2018.4.28 kvm虚拟机管理

    创建虚拟机: virt-install --name wj-v1.4.1.0411 --vcpus=2 --memory=2048 --disk path=/home/wj/os/osgwV1.4.1 ...

  2. Go Example--strings

    package main import ( "fmt" s "strings" ) var p = fmt.Println func main() { //st ...

  3. Django请求流程图

    Django请求流程图

  4. kafka-producer kerberos 原理和配置

    kerberos简单介绍 kerberos这一名词来源于希腊神话“三个头的狗---地狱之门守护者”后来沿用作为安全认证的概念,该系统设计上 采用客户端/服务器结构与DES(Data Encryptio ...

  5. uboot下读取flash,上传tftp服务器、下载

    上传 setenv gatewayip 192.168.1.1; setenv serverip 192.168.1.7; setenv ipaddr 192.168.1.156 ; mw.b 0x8 ...

  6. 算法分析(2)——大O和大Θ

    当一个软件遇到了性能瓶颈时,首要的改进是软件功能重构,适当删除可能拖垮系统的业务需求.客户对“实时”相当感兴趣,然而又有几个使用者能够真正清楚什么地方应该是实时的?这一点同样体现在其它行业,生厂商想要 ...

  7. 安装Kerberos后,如何不使用它,Current Kerberos password:

    在不知情的情况下,安装了kerberos,然后只有是有密码的地方,一直有这个: Current Kerberos password: 没有了解过kerberos,想要卸载,卸载了还是有,怎么弄都弄不掉 ...

  8. 18.3 #define DM9000_DBG(fmt,args...) printf(fmt, ##args)代表什么

    标准C支持可变参数的函数,意味着函数的参数是不固定的,例如printf()函数的原型为:int printf( const char *format [, argument]... ) 而在GNU C ...

  9. 关于STL容器

    容器: 概念:如果把数据看做物体,容器就是放置这些物体的器物,因为其内部结构不同,数据摆放的方式不同,取用的方式也不同,我们把他们抽象成不同的模板类,使用时去实例化它 分类: 序列容器.关联容器.容器 ...

  10. AttributeError: 'module' object has no attribute 'main'

    本机环境:ubuntu16.04,  ros-kinetic $ roscore 报错 Traceback (most recent call last): File , in <module& ...