致清 REST API

首先感谢您使用致清信息清理服务

使用致清 REST API开发客户端应用,免费版用户可直接请求http://rest.tsing.cn/下各接口,标准版及VIP版本客户需先注册帐号获取服务秘钥,以使用专用接口。

致清 REST API所有API调用请求都应是POST请求,所有请求参数应为key=value形式的键值对,多个参数键值对间由"&"符号连接,如key1=value1&key2=value2。其中键值应该进行URL编码以保证数据正确发送到服务端。

致清 REST API是基于UTF-8编码的。如果您使用了其他编码格式,如GBK或GB2312,请在调用API前将数据值转换为UTF-8编码,否则将影响信息过滤准确度。

在API调用请求的Header中的User-Agent字段应以以下格式提供您开发的客户端名称:

应用名/版本|插件名/版本

比如为Discuz!X 2.5版本定制的名称为TsingAntispam的客户端名称为 Discuz!X/2.5|TsingAntispam/1.11

致清 REST API的返回值均为JSON数据格式,各接口返回值及含义请参照以下详细接口说明:

服务状态检查 (status-check)

检查服务器当前是否正在服务中
URL
免费版
http://rest.tsing.cn/1.0/status-check
标准版
http://YourAPIKey123.rest.tsing.cn/1.0/status-check
Method POST
请求头
User-Agent
应用名/版本|插件名/版本     例如:Discuz!X/2.5|TsingAntispam/1.11
请求参数
响应值
{"s":1}
正常服务中
Example
<?php
// 调用状态检查函数
tas_status_check('YourAPIKey123');

// 检查 TAS 服务端状态
function tas_status_check( $key ) {
	if(gethostbyname('rest.tsing.cn') != 'rest.tsing.cn') {
		$url = "http://".$key.".rest.tsing.cn/1.0/status-check";
		$headers = array('User-Agent: Discuz!X/2.5|TsingAntispam/1.11');

		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_HEADER, false);
		curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$result = curl_exec($ch);
		curl_close($ch);

		$result = trim($result);
		if(strcmp($result,'{"s":1}')) {
			$tass_status = '暂不可用';
		} else {
			$tass_status = '服务中';
		}
	} else {
		$tass_status = '未能连接到服务器,请检查本地网络设置';
	}
}
?>

密钥验证 (verify-key)

验证当前密钥是否有效,且帐号有余额
URL
免费版
http://rest.tsing.cn/1.0/verify-key
标准版
http://YourAPIKey123.rest.tsing.cn/1.0/verify-key
Method POST
请求头
User-Agent
应用名/版本|插件名/版本     例如:Discuz!X/2.5|TsingAntispam/1.11
请求参数
响应值
{"k":0}
网站密钥无效
{"k":1}
网站密钥有效且有余额
{"k":2}
网站当前余额不足
Example
<?php
// 调用密钥验证函数
tas_verify_key('YourAPIKey123');

// 验证客户网站密钥
function tas_verify_key( $key ) {
	if(gethostbyname('rest.tsing.cn') != 'rest.tsing.cn') {
		$url = "http://".$key.".rest.tsing.cn/1.0/verify-key";
		$headers = array('User-Agent: Discuz!X/2.5|TsingAntispam/1.11');

		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_HEADER, false);
		curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$result = curl_exec($ch);
		curl_close($ch);

		$result = trim($result);
		if(strcmp($result,'{"k":1}')==0) {
			$tass_verify_key = '正常服务中';
		} else if(strcmp($result,'{"k":2}')==0) {
			$tass_verify_key = '账户余额不足';
		} else {
			$tass_verify_key = '不在服务中';
		}
	} else {
		$tass_status = '未能连接到服务器,请检查本地网络设置';
	}
}
?>

内容检查 (content-check)

判断提交内容是否为垃圾信息
URL
免费版
http://rest.tsing.cn/1.0/content-check
标准版
http://YourAPIKey123.rest.tsing.cn/1.0/content-check
Method POST
请求头
User-Agent
应用名/版本|插件名/版本     例如:Discuz!X/2.5|TsingAntispam/1.11
请求参数
site
发起检查请求的当前站点首页URL 如:http://bbs.tsing.cn/
user_ip
内容提交者的IP地址
user_agent
内容提交者使用的浏览器user_agent标识,PHP可通过 HTTP_USER_AGENT 环境变量获取
referrer
内容提交到当前站点时的HTTP_REFERER头
content
待检查的内容
响应值
{"r":0}
内容为正常信息
{"r":1}
内容为垃圾信息
{"k":0}
网站密钥无效
{"k":2}
网站当前余额不足
Example
<?php
// 调用内容检查函数
$data = array('site' => 'yourdoamin.com',
		  'user_ip' => '123.122.82.141',
		  'user_agent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36',
		  'referrer' => 'http://www.google.com',
		  'content' => '欢迎使用致清');
tas_content_check('YourAPIKey123', $data);

// 检查内容是否为垃圾信息
function tas_content_check( $key, $data) {
	if(gethostbyname('rest.tsing.cn') != 'rest.tsing.cn') {
		$url = "http://".$key.".rest.tsing.cn/1.0/content-check";
		$headers = array('User-Agent: Discuz!X/2.5|TsingAntispam/1.11');
		$fields = array(
						'site' => urlencode($data['site']),
						'user_ip' => urlencode($data['user_ip']),
						'user_agent' => urlencode($data['user_agent']),
						'referrer' => urlencode($data['referrer']),
						'content' => urlencode($data['content']),
				);

		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_HEADER, false);
		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($ch, CURLOPT_POST, count($fields));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$result = curl_exec($ch);
		curl_close($ch);

		$result = trim($result);
		if(strcmp($result,'{"r":1}')==0) {
			$tass_content_check = '垃圾信息';
		}
	} else {
		$tass_status = '未能连接到服务器,请检查本地网络设置';
	}
}
?>

提交垃圾信息 (submit-spam)

提交误判为正常信息的垃圾信息
URL
免费版
http://rest.tsing.cn/1.0/submit-spam
标准版
http://YourAPIKey123.rest.tsing.cn/1.0/submit-spam
Method POST
请求头
User-Agent
应用名/版本|插件名/版本     例如:Discuz!X/2.5|TsingAntispam/1.11
请求参数
site
发起检查请求的当前站点首页URL 如:http://bbs.tsing.cn/
user_ip
内容提交者的IP地址
user_agent
内容提交者使用的浏览器user_agent标识,PHP可通过 HTTP_USER_AGENT 环境变量获取
referrer
内容提交到当前站点时的HTTP_REFERER头
content
待检查的内容
响应值
{"r":0}
提交垃圾信息失败
{"r":1}
成功提交垃圾信息
{"k":0}
网站密钥无效
Example
<?php
// 调用垃圾信息提交函数
$data = array('site' => 'yourdoamin.com',
		  'user_ip' => '123.122.82.141',
		  'content' => '欢迎使用致清,这是一条垃圾信息');
tas_submit_spam('YourAPIKey123', $data);

// 提交垃圾信息
function tas_submit_spam( $key, $data) {
	if(gethostbyname('rest.tsing.cn') != 'rest.tsing.cn') {
		$url = "http://".$key.".rest.tsing.cn/1.0/submit-spam";
		$headers = array('User-Agent: Discuz!X/2.5|TsingAntispam/1.11');
		$fields = array(
						'site' => urlencode($data['site']),
						'user_ip' => urlencode($data['user_ip']),
						'content' => urlencode($data['content']),
				);

		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_HEADER, false);
		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($ch, CURLOPT_POST, count($fields));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$result = curl_exec($ch);
		curl_close($ch);

		$result = trim($result);
		if(strcmp($result,'{"r":1}')==0) {
			$tass_submit_spam = '成功提交垃圾信息';
		}
	} else {
		$tass_status = '未能连接到服务器,请检查本地网络设置';
	}
}?>

提交正常信息 (submit-ham)

提交误判为垃圾信息的正常信息
URL
免费版
http://rest.tsing.cn/1.0/submit-ham
标准版
http://YourAPIKey123.rest.tsing.cn/1.0/submit-ham
Method POST
请求头
User-Agent
应用名/版本|插件名/版本     例如:Discuz!X/2.5|TsingAntispam/1.11
请求参数
site
发起检查请求的当前站点首页URL 如:http://bbs.tsing.cn/
user_ip
内容提交者的IP地址
user_agent
内容提交者使用的浏览器user_agent标识,PHP可通过 HTTP_USER_AGENT 环境变量获取
referrer
内容提交到当前站点时的HTTP_REFERER头
content
待检查的内容
响应值
{"r":0}
提交信息失败
{"r":1}
成功提交信息
{"k":0}
网站密钥无效
Example
<?php
// 调用正常信息提交函数
$data = array('site' => 'yourdoamin.com',
		  'user_ip' => '123.122.82.141',
		  'content' => '欢迎使用致清,这是一条正常信息');
tas_submit_ham('YourAPIKey123', $data);

// 提交正常信息
function tas_submit_ham( $key, $data) {
	if(gethostbyname('rest.tsing.cn') != 'rest.tsing.cn') {
		$url = "http://".$key.".rest.tsing.cn/1.0/submit-ham";
		$headers = array('User-Agent: Discuz!X/2.5|TsingAntispam/1.11');
		$fields = array(
						'site' => urlencode($data['site']),
						'user_ip' => urlencode($data['user_ip']),
						'content' => urlencode($data['content']),
				);

		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_HEADER, false);
		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		curl_setopt($ch, CURLOPT_POST, count($fields));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$result = curl_exec($ch);
		curl_close($ch);

		$result = trim($result);
		if(strcmp($result,'{"r":1}')==0) {
			$tass_submit_spam = '成功提交信息';
		}
	} else {
		$tass_status = '未能连接到服务器,请检查本地网络设置';
	}
}
?>