首先打开百度ai开发平台注册一个账号:
注册账号,进入控制台
创建自己的应用,获取apikey和秘钥
进入文档页文本审核:
图像审核:
文档很详细,实现用户发布内容审核图片审核还是很方便简单的。
classSentive
{
protected$accessTokenUrl='https://aip.baidubce.com/oauth/2.0/token';//获取tokenurl
protected$textUrl='https://aip.baidubce.com/rest/2.0/antispam/v2/spam';//文本审核url
protected$imgUrl='https://aip.baidubce.com/api/v1/solution/direct/img_censor';//图片审核url
protected$avatarUrl='https://aip.baidubce.com/rest/2.0/solution/v1/face_audit';//头像审核url
protected$grant_type;
protected$client_id;
protected$client_secret;
function__construct()
{
$this->grant_type='client_credentials';
$this->client_id='xxx';//APIKey
$this->client_secret='xxx';//SecretKey
}
staticfunctionrequest($url='',$param='')
{
if(empty($url)||empty($param)){
returnfalse;
}
$postUrl=$url;
$curlPost=$param;
$curl=curl_init();//初始化curl
curl_setopt($curl,CURLOPT_URL,$postUrl);//抓取指定网页
curl_setopt($curl,CURLOPT_HEADER,0);//设置header
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//要求结果为字符串且输出到屏幕上
curl_setopt($curl,CURLOPT_POST,1);//post提交方式
curl_setopt($curl,CURLOPT_POSTFIELDS,$curlPost);
$data=curl_exec($curl);//运行curl
curl_close($curl);
return$data;
}
staticfunctionrequest_post($url='',$param=array(),$type)
{
if(empty($url)||empty($param)){
returnfalse;
}
$postUrl=$url;
$curlPost=$param;
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL,$postUrl);
curl_setopt($curl,CURLOPT_HEADER,0);
//要求结果为字符串
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
//post方式
curl_setopt($curl,CURLOPT_POST,1);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($curl,CURLOPT_POSTFIELDS,$curlPost);
if($type=="text"){
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type:application/x-www-form-urlencoded'));
}else{
curl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type:application/json;charset=utf-8'));
}
curl_setopt($curl,CURLINFO_HEADER_OUT,true);
$data=curl_exec($curl);
$code=curl_getinfo($curl,CURLINFO_HTTP_CODE);
if($code===0){
thrownew\Exception(curl_error($curl));
}
curl_close($curl);
return$data;
}
//获取token
publicfunctiongetToken()
{
newRedis();
$post_data['grant_type']=$this->grant_type;
$post_data['client_id']=$this->client_id;
$post_data['client_secret']=$this->client_secret;
$o="";
foreach($post_dataas$k=>$v){
$o.="$k=".urlencode($v)."&";
}
$post_data=substr($o,0,-1);
$res=self::request($this->accessTokenUrl,$post_data);
$redis->setkey("filterToken",json_decode($res,true)['access_token']);
returnjson_decode($res,true)['access_token'];
}
//文本审核
publicfunctiontextVerify($data)
{
newRedis();
$token=$redis->get("filterToken");
if(empty($token)){
$token=$this->getToken();
}
$curl=$this->textUrl."?access_token=".$token;
$result=self::request_post($curl,$data,"text");
returnjson_decode($result,true);
}
//图片审核
publicfunctionimgVerify($img)
{
$redis=newRedis();
$token=$redis->get("filterToken");
if(empty($token)){
$token=$this->getToken();
}
$curl=$this->imgUrl."?access_token=".$token;
$bodys=array(
'image'=>$img,
'scenes'=>array("ocr",
"face","public","politician","antiporn","terror","webimage","disgust",
'watermark')
);
$bodys=json_encode($bodys);
$result=self::request_post($curl,$bodys,"img");
returnjson_decode($result,true);
}
//头像审核
publicfunctionavatarVerify($img)
{
$redis=newRedis();
$token=$redis->get("filterToken");
if(empty($token)){
$token=$this->getToken();
}
$curl=$this->avatarUrl."?access_token=".$token;
$bodys=array(
"configId"=>"1",
"images"=>$img
);
$result=self::request_post($curl,$bodys,"text");
returnjson_decode($result,true);
}
}
|