使用axios调用Streamtape远程上传API返回200但站点显示报错,代码排查
Streamtape 远程上传接口调用异常排查
问题描述
- 基于axios向Streamtape服务端提交视频远程上传请求,功能始终无法正常运行
- 开发过程严格参照Streamtape API官方文档说明实现,无法自主定位问题根源
关联代码片段
<script> function myFunction() { var apiKey = "7975f4ed########0cfef"; var apiPass = "8OvJO9##########VqZ"; axios .post( "https://api.streamtape.com/remotedl/add?login=7975##############680cfef&key=8O########VqZ&url=https://streamta.pe/get_video?id=vLGqPqm8xwTYRj&expires=1611399962&ip=GRysD0ESKxSHDN&token=bWNmLLoaG99b&stream=1" ) .then((responce) => { console.log(responce); }) .catch((err) => { console.log(err); }); } </script>
可定位的故障环节
- 请求方法与接口要求不匹配:Streamtape远程上传添加接口默认通过GET方式接收请求,当前代码直接使用axios的
post方法发起调用,不符合接口交互规则 - 嵌套URL未做编码处理:请求入参里的
url参数值本身是携带多级查询参数的完整视频地址,直接拼接到接口URL时未做转义编码,会导致服务端将视频地址自带的参数错判为接口自身的入参,引发参数解析错误 - 鉴权参数存在错配风险:代码中定义了
apiKey、apiPass两个鉴权变量,但实际请求地址中的login、key参数为硬编码值,存在字符缺失、与实际账号鉴权信息不匹配的可能 - 异常捕获粒度不足:当前错误处理逻辑仅直接打印错误对象,未拆分识别跨域拦截、网络超时、鉴权失败、参数校验失败等不同类型错误的具体信息,无法快速缩小排查范围
- 冗余无效代码:定义的
apiKey、apiPass变量未被实际引用,后续维护时很容易出现硬编码参数与变量值不同步的错配问题
内容的提问来源于stack exchange,提问作者Muhammad Junaid Khan
相关产品推荐
相关产品推荐

