uni-app video 组件设置 header 问题

uni-app video 组件设置 header 问题

开发环境 版本号 项目创建方式
Windows win10 HBuilderX

操作步骤:

  • 随便设置header

预期结果:

  • 正常

实际结果:

  • 值与key重复

bug描述:

image


更多关于uni-app video 组件设置 header 问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

27 回复

图片呢???

更多关于uni-app video 组件设置 header 问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你设置的代码 贴一下 我看看

还没确认BUG吗?

回复 DCMarvel: 现在试

<template> <view class=""> <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> <script> export default { data() { return { head: { 'User-Agent': 'dd', "X-AUTH": "test" } }; }, onLoad() { console.log(1); }, methods: { err(e) { console.log(e); }, navBak() { uni.navigateBack(); }, toPages(url) { uni.navigateTo({ url: url }); }, } }; </script> <style> </style>

老哥我这测试没毛病啊

是我测试的版本不对吗?

这是设置后收到的数据

这是未设置的默认值

这是收到的未设置的默认值

老哥 ,你那什么抓包的。直接用服务器接收值,试试

回复 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>

<script> export default { data() { return { head: { 'User-Agent': 'dd', "X-AUTH": "test" } }; }, onLoad() { console.log(1); }, methods: { err(e) { console.log(e); }, navBak() { uni.navigateBack(); }, toPages(url) { uni.navigateTo({ url: url }); }, } }; </script> <style> </style>

不能,Android 必须 是 === ‘dd, dd’

回复 DCMarvel: 我尝试修复了。 你是云打包吗。 我在线给你打一个修复后的包

已与开发者确认问题,稍后版本会修复。

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>
回到顶部