标签:setopt img hint media sec 审核 curl data CURLOPT
在调用微信安全内容审核的时候,遇到如下的报错,百度也是搜了一大圈,后来才找到解决的方法,下面就谈谈我的跳坑经历,方便其他同学遇到这样的问题可以快速解决。
这里我们只谈图片内容审核的,其中的文本内容审核比较容易,我就不说了,主要就是图片这里容易遇到坑。
{"errcode":41005,"errmsg":"media data missing hint: [zKfcwnNre-61nAMA]"}
POST https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESS_TOKEN
access_token string 是 接口调用凭证
media FormData 是 要检测的图片文件,格式支持PNG、JPEG、JPG、GIF,图片尺寸不超过 750px x 1334px
微信官方文档就提到这两个值,access_token想必大家都知道,我就不累述了。
那么这个media值需要 formdata要怎么传值呢?下面我谈下我们php开发的
具体方法就是你把图片要先存到本地,然后使用本地服务器的绝对路径地址
然后new 一个 curlfile,然后提交给微信接口就可以了,直接上代码吧,具体过程就是下面这样。先获取远程的图片路径地址,然后下载保存到你的服务器里,然后new CURLFile
$img = file_get_contents($param['img']); // img就是远程的图片地址 http的图片地址 $filePath = dirname(__FILE__).'/pic/1.jpg; //注意这里是填写你保存这张远程图片在你服务器上的绝对路径地址 file_put_contents($filePath, $img); $real_path=realpath($filePath); $obj = new CURLFile($real_path); $obj->setMimeType("image/jpeg"); $postdata['media']=$obj; $this->http_request($url, $postdata); //HTTP请求(支持HTTP/HTTPS,支持GET/POST) private function http_request($url, $data = null) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)) { curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS,$data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $output = curl_exec($curl); curl_close($curl); return $output; }
好了,今天就给大家分享到这里。 秋峰,phper、javascript前端开发,目前自创业,做项目系统开发,做公众号以及小程序等的开发, 今天就给大家分享到这里,希望对大家有所帮助。
欢迎交流 大家相互学习 我的 微信号 qiufeng2983
标签:setopt,img,hint,media,sec,审核,curl,data,CURLOPT 来源: https://www.cnblogs.com/xinweiyun/p/12877708.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。