12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- namespace Qiniu\Storage;
- use Qiniu\Auth;
- use Qiniu\Config;
- use Qiniu\Zone;
- use Qiniu\Http\Client;
- use Qiniu\Http\Error;
- /**
- * 主要涉及了鉴黄接口的实现,具体的接口规格可以参考
- *
- * @link https://developer.qiniu.com/dora/manual/3674/kodo-product-introduction
- */
- final class ArgusManager
- {
- private $auth;
- private $config;
- public function __construct(Auth $auth, Config $config = null)
- {
- $this->auth = $auth;
- if ($config == null) {
- $this->config = new Config();
- } else {
- $this->config = $config;
- }
- }
- /**
- * 视频鉴黄
- *
- * @param $body body信息
- * @param $vid videoID
- *
- * @return mixed 成功返回NULL,失败返回对象Qiniu\Http\Error
- * @link https://developer.qiniu.com/dora/manual/4258/video-pulp
- */
- public function pulpVideo($body, $vid)
- {
- $path = '/v1/video/' . $vid;
-
- return $this->arPost($path, $body);
- }
- private function getArHost()
- {
- $scheme = "http://";
- if ($this->config->useHTTPS == true) {
- $scheme = "https://";
- }
- return $scheme . Config::ARGUS_HOST;
- }
- private function arPost($path, $body = null)
- {
- $url = $this->getArHost() . $path;
- return $this->post($url, $body);
- }
- private function post($url, $body)
- {
- $headers = $this->auth->authorizationV2($url, 'POST', $body, 'application/json');
- $headers['Content-Type']='application/json';
- $ret = Client::post($url, $body, $headers);
- if (!$ret->ok()) {
- print($ret->statusCode);
- return array(null, new Error($url, $ret));
- }
- $r = ($ret->body === null) ? array() : $ret->json();
- return array($r, null);
- }
- }
|