javascript - 为什么迅雷会响应在 HTML5 video 标签内的 .mp4 视频文件?
PHP中文网
PHP中文网 2017-04-11 11:34:44
0
3
498

我使用标签来播放视频,代码大致如下:

我知道这部分是迅雷的问题,可以设置迅雷的响应对象。但不是所有用户都会设置这个的。

更多的时候,用户只会觉得奇怪,为什么打开这个网页后,迅雷会自动下载这个网页内的视频?

我猜想阿里云的 OSS 返回的header里可能表明了这是个附件,然后触发了迅雷的响应机制,但Response Header也没发现有什么异常的:

HTTP/1.1 206 Partial Content Server: Tengine Content-Type: application/octet-stream Content-Length: 130820554 Connection: keep-alive Date: Mon, 21 Nov 2016 04:49:40 GMT x-oss-request-id: 58327CE4E4B256C124C4743A Accept-Ranges: bytes ETag: "8633B7D2064AE81BB7FE2A689AC6C8C9-25" Last-Modified: Wed, 16 Nov 2016 09:36:27 GMT x-oss-object-type: Multipart x-oss-hash-crc64ecma: 10209195106474082101 x-oss-server-time: 31 Via: cache18.l2eu6[0,304-0,H], cache2.l2eu6[1,0], cache5.cn466[0,206-0,H], cache10.cn466[5,0] Age: 1057 X-Cache: HIT TCP_MEM_HIT dirn:16:347220947 X-Swift-SaveTime: Mon, 21 Nov 2016 04:52:08 GMT X-Swift-CacheTime: 3600 Content-Range: bytes 0-130820553/130820554 Timing-Allow-Origin: * EagleId: 73e791d214797048374984367e

顺便附上Request Header

GET /hi.mp4 HTTP/1.1 Host: example.com Connection: keep-alive Pragma: no-cache Cache-Control: no-cache Accept-Encoding: identity;q=1, *;q=0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.87 Safari/537.36 Accept: */* DNT: 1 Referer: http://localhost:3000/ Accept-Language: en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4 Range: bytes=0-

请问应当如何改写代码,才能避免迅雷自动下载视频?

PHP中文网
PHP中文网

认证0级讲师

全部回复 (3)
伊谢尔伦

Content-Type: application/octet-stream

这个~~~不是么???这个就是非文本格式附件的意思呢?!迅雷当然下载咯!PS:这是迅雷流氓吧?》

    PHPzhong

    请问这个问题你怎么解决的呢?谢谢

      左手右手慢动作

      这个问题是因为阿里云OSS对于mp4格式的文件Response Header中的Content-Type默认为application/octet-stream所导致的,解决办法就是在阿里云OSS中设置Response Header中的值,把Content-Type修改为video/mp4即可,可以多选然后批量修改。

        最新下载
        更多>
        网站特效
        网站源码
        网站素材
        前端模板
        关于我们 免责声明 Sitemap
        PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!