评论

PHP+内容安全检测+报错+41005

PHP demo 处理内容安全

碰到的问题是服务器后端请求security.imgSecCheck接口进行鉴黄,返回值为41005,缺失媒体文件

按照官方文档,只有两个参数:access_token和media

access_token直接接在url后,这个一般都不会有问题。media的数据类型要求为formdata,一般问题都出在这里。

下面是PHP 请求demo

$data['media'] = new \CURLFile($_FILES['file']['tmp_name']);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$data = curl_exec($ch);
curl_close($ch);
return $data;

重点在于
$data[‘media’] = new \CURLFile($_FILES[‘file’][‘tmp_name’]);

CURLFile($path)可以用来获取服务器上的一张图片处理成formdata类型的数据,接下来应该不会存在问题了。

点赞 0
收藏
评论

2 个评论

  • Do
    Do
    2019-11-12

    我用了上面的代码段,$_FILES['file']['tmp_name']  我用的是我们服务器上https的url,返回的$data是为空这是怎么回事呢

    2019-11-12
    赞同 1
    回复 1
    • 袁斌
      袁斌
      2020-04-20
      我今天遇到跟你一样的问题了,请问你是怎么解决的呢
      2020-04-20
      回复
  • ACE
    ACE
    2019-11-07

    "errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [duAtoA0851sz45!]请问为什么我的会一直报这个错,我用access_token 调用检测文字是可以的

    2019-11-07
    赞同
    回复
登录 后发表内容