问题一:在视频点播中视频不存在的情况, 用什么方式能拦截到? 我用PHP的Exception 拦截不到信息
问题二:是不是有个检测工具,根据 RequestId可以看到请求的参数?
针对问题一的回答:如果已经响应之后才不存在 这种Exception 拿不到的 只能看前端抓404了
不要跳过业务接口去操作文件 一般不会出现404
针对问题二的回答:这是log工具 —此回答来自钉群”阿里云-VOD-视频点播-技术交流(进群先看公告)“
使用SDK的错误码进行判断
视频点播的SDK在调用API失败时,会返回对应的错误码和错误信息。
比如在PHP SDK中:
调用$client->get_video_info($videoId)获取视频信息
如果视频不存在,返回错误码为404 Video Not Found
你可以在调用API后,判断错误码是否为404,则表示视频不存在:
php
Copy
try {
$result = $client->get_video_info($videoId);
} catch (Exception $e) {
if ($e->getCode() == '404') {
// 视频不存在,处理对应的逻辑
...
}
}
根据HTTP状态码判断
在使用原生HTTP API调用时,如果视频不存在,会返回404 NOT FOUND的HTTP状态码。
你可以通过捕获HTTP状态码来判断:
php
Copy
$response = Unirest::get("视频点播API地址");
if ($response->code == 404) {
// 视频不存在
}
指定回调函数
视频点播的部分API支持指定回调函数,你可以在函数中进行判断:
php
Copy
$result = $client->get_video_info($videoId, function($code, $message, $data){
if ($code == 404) {
// 视频不存在,逻辑处理
}
});
以上三种方式,都是在视频点播API的层面上进行错误判断。
都是比捕获Exception更有针对性的方法。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。