请教一个关于下载的技术问题
Tofloor
poster avatar
ylxdxx
deepin
2018-11-08 03:41
Author
本帖最后由 ylxdxx 于 2018-11-7 19:41 编辑

例如YouTube的这个直接播放地址:
  1. https://r5---sn-a5msen7l.googlevideo.com/videoplayback?fvip=5&keepalive=yes&pl=19&requiressl=yes&expire=1541610028&gir=yes&initcwndbps=3160000&sparams=aitags%2Cclen%2Cdur%2Cei%2Cgir%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Ckeepalive%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Crequiressl%2Csource%2Cexpire&id=o-ABibnUAG_wfj00lVWdRz1vgDCIRTMo0skHloRzlY0v02&mm=31%2C26&ei=zMXiW6jNGdaHkwb9wqzoBQ&ip=172.96.199.76&mv=m&mt=1541588307&ms=au%2Conr&txp=5432432&dur=251.517&c=WEB&mn=sn-a5msen7l%2Csn-n4v7snee&source=youtube&clen=31933034&signature=329ADE3A37819106FB19988BB6B6391E101D30CE.C1DB15FC11DF7507AF3D7D33465F9C43D9BA69DD&lmt=1541056201820590&ipbits=0&itag=137&key=yt6&mime=video%2Fmp4&aitags=133%2C134%2C135%2C136%2C137%2C160%2C242%2C243%2C244%2C247%2C248%2C278&title=%E6%88%91%E4%BB%A5%E4%B8%BA%E6%88%91%E4%BB%AC%E7%9A%84%E7%9B%B8%E9%81%87%E6%97%B6%E5%88%9A%E5%88%9A%E5%A5%BD%EF%BC%8C%E6%B2%A1%E6%83%B3%E5%88%B0%E5%8F%AA%E6%98%AF%E6%88%91%E4%BB%A5%E4%B8%BA%E3%80%82%E5%90%AC%E5%AE%8C%E6%83%B3%E5%93%AD%E3%80%82%E7%BF%BB%E5%94%B1%E5%93%81%E5%86%A0%E3%80%8A%E6%88%91%E4%BB%A5%E4%B8%BA%E3%80%8B
Copy the Code
在浏览器下可以播放和下载,但是使用其他下载工具时连接错误,即使是调用浏览器的多线程下载插件也没法下载,对与多线程的即使将其改为单线程的下载也是失败,为啥用浏览器自带的就可以?猜测goole对下载请求做了什么验证,对此用curl做了一下实验:
第一开始直接访问:
  1. curl xxxxxxx
Copy the Code
连接成功了的,然后带上了参数
  1. curl -O xxxxxx
Copy the Code
就连接超时了,接着带上浏览器参数
  1. curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -O xxxxxxx
Copy the Code
连接依然不行,使用了大招,利用network中的copy as curl 在终端中访问依然不行,想请问一下究竟要怎么样才能用第三方下载器下载?他究竟作了什么限制?



还有就是uget下载器里的高级设置:

里面的发送文件是指请求的头文件吗?如果是需要按什么格式编辑呀?

Reply Favorite View the author
All Replies
avatar
wildlife
deepin
2018-11-08 04:08
#1
本帖最后由 lanseyujie 于 2018-11-7 20:29 编辑

会验证 cookie 、UA、Referer、IP 和请求参数 的,执行 copy as curl 生成的 curl 命令是可以下载的( 当然了得先设置使用代理打开命令行 ),不过 YouTube 将视频分片了,单独这一个请求只是下载了整个视频的一小部分。


Reply View the author
avatar
ylxdxx
deepin
2018-11-08 05:07
#2
https://bbs.deepin.org/post/170655
会验证 cookie 、UA、Referer、IP 和请求参数 的,执行 copy as curl 生成的 curl 命令是可以下载的( 当然 ...

哈哈,在vps里试了一下,确实可以,不过我在终端直接
  1. curl https://www.google.com/
Copy the Code
也是可以的,不知道问题处在哪里,不管它了,最后再问一下,uget是调用的curl,在高级设置中发送文件里面填的东西与直接终端使用curl的东西一样吗?
Reply View the author