uni-app video 组件设置 header 问题
uni-app video 组件设置 header 问题
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | win10 | HBuilderX |
操作步骤:
- 随便设置header
预期结果:
- 正常
实际结果:
- 值与key重复
bug描述:
更多关于uni-app video 组件设置 header 问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你设置的代码 贴一下 我看看
还没确认BUG吗?
回复 DCMarvel: 现在试
老哥我这测试没毛病啊
是我测试的版本不对吗?
这是设置后收到的数据
这是未设置的默认值
这是收到的未设置的默认值
老哥 ,你那什么抓包的。直接用服务器接收值,试试
回复 DCloud_Android_DQQ: 这就是收到的值直接打印的.没有播放视频,请求的播放地址.获取的值就是这个.ug重复没有自定义字段.没办法验证.后端PHP
回复 DCloud_Android_DQQ: 下边ios12 ug设置也无效
回复 DCloud_Android_DQQ: 本地测试(http)用Fiddler抓包即可
回复 DCloud_Android_DQQ: 测试的如何了啊
ios测试设置无效
版本
video 底层用的ijkplayer
如果手机设置了代理,ijkplayer 不会走代理,因为它底层请求是用C实现的,它们自己实现的请求, 不会走iOS或者Android底层,所以代理是抓不到的。
ios可能是没走代理,但是Android肯定抓的没问题.ug肯定重复了.ios即使没不开代理设置后也不正确
回复 DCMarvel: 看下图回复吧,ios可以通过验证并播放,Android不可以
这是request 设置代理 请求测试
如果video 设置header
IOS 可以正常过验证并播放
Andorid 不可以播放
个人怀疑是不是 useragent concatenate 追加UG的问题
播放测试
我看看
回复 DCloud_Android_DQQ: 试出问题了吗
回复 DCMarvel: 一直在忙,我现在看
你用下面的代码试试 nvue 。看看有没有同样的问题
<template>
<view class="">
<video src=“http://192.168.12.245:13881/cat” controls :header=“head” @error=“err”>
<button type=“default” style=“margin-top: 80px;” @tap=“navBak”>返回</button>
<button type=“primary” @tap.stop=“toPages(’/pages/test2’)” style=“margin-top: 150px;”>进入</button>
</view>
</template>
不能,Android 必须 是 === ‘dd, dd’
已与开发者确认问题,稍后版本会修复。
3.2.1版本 bug已修复
在 uni-app 的 video 组件中设置 header 时,如果出现“值与 key 重复”的错误,通常是因为 header 参数的格式不正确。根据 uni-app 官方文档,video 组件的 header 属性应为一个对象,其中每个属性代表一个请求头字段,属性名作为 key,属性值作为 value。
例如,正确的设置方式如下:
<video
src="https://example.com/video.mp4"
:header="{ 'User-Agent': 'CustomUA', 'Authorization': 'Bearer token123' }"
></video>
如果 header 中的 key 和 value 被错误地设置为相同的字符串或结构,可能会导致解析异常。请检查代码中是否出现了类似下面的错误写法:
<!-- 错误示例:key 和 value 混淆或重复 -->
<video :header="['User-Agent', 'User-Agent']"></video>


