| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | <?phpnamespace 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);    }}
 |