文章目录
快速了解HTTP基础知识
先抛个总结:
curl http://host_a/uri_b
等价于=>curl http://ip/uri_b -H host_a
基础背景知识:http协议请求过程的理解
一般的GET请求 http://host_a/uri_b
文本字符串的内容一般如下:
GET /uri_b HTTP/1.1
Host: host_a
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)
Gecko/20050225 Firefox/1.0.1
Connection: Keep-Alive
host解析出ip的动作,属于各种网络库底层直接封装好DNS请求,一般开发者不用关注,但是如果要做调度调整,比如接下来要使用自定义IP地址。
curl http://自定义ip/uri -H host --output temp.mp4
基础背景知识:免流的规则
所谓的HTTP请求,也就是符合一定规范的TCP请求而已。因此HTTP免流,可以有2种通用免流方案:
- 报备IP地址:HTTP的目标IP符合白名单的策略
- 报备域名:对于HTTP请求,运营商作为链路的中间人,可以解析到Host。
获取测试资源
优酷采用阿里云的CDN资源,CDN资源存在5小时过期的现象,下载mp4时,如果存在400的错误,需要重新获取mp4资源。
mp4下载资源的获取:
1.先获取一个json
2. 随便挑一个mp4
先下载一下这个mp4文件,看看有多大的size,一般是9M左右,消耗手机流量会十分明显,便于查看。
前置测试,先验证手机卡,确实可以免流
步骤:
1.手机开启WiFi热点
2. 电脑连接手机热点
3.查看m-vali.cp31.ott.cibntv.net的ip
一定要在连接热点后,才能用dig命令查看ip。否则的话,得到的IP并不是运营商报备的IP。
运行命令:dig m-vali.cp31.ott.cibntv.net
~/Android/tools/install ⌚ 11:58:45
$ dig m-vali.cp31.ott.cibntv.net
; <<>> DiG 9.10.6 <<>> m-vali.cp31.ott.cibntv.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40135
;; flags: qr rd ra; QUERY: 1, ANSWER: 15, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;m-vali.cp31.ott.cibntv.net. IN A
;; ANSWER SECTION:
m-vali.cp31.ott.cibntv.net. 13 IN CNAME m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com.
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.32.172.193
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.32.172.194
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 183.201.229.105
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 183.201.229.106
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.32.172.239
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.6.221.243
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.32.172.240
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.6.221.241
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.6.221.242
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.7.104.243
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.32.172.195
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.6.221.240
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.32.172.238
m-vali.cp31.ott.cibntv.net.danuoyi.tbcache.com. 10 IN A 111.7.104.244
;; Query time: 519 msec
;; SERVER: 2409:8900:2950:23b1::47#53(2409:8900:2950:23b1::47)
;; WHEN: Wed Apr 07 11:59:35 CST 2021
;; MSG SIZE rcvd: 328
挑取一个IP即可,比如111.32.172.193
4.手机打开中国移动,查看当前流量余量,并截图
5.在电脑上,替换ip和域名后执行下载文件的命令
curl http://111.32.172.193/6573D090AC3337156D97A3E46/03002007005B5E135DBBBCB19A0D12032F50C1-91B6-443E-980C-4DBF6A66005D.mp4?ccode=0501&duration=394&expire=18000&psid=2149fadb84798931ea1fad447b98209b23346&ups_client_netip=6a0b29d6&ups_ts=1617767009&ups_userid=1340295651&utid=1&vid=XMzE2MTAwODY0MA%3D%3D&vkey=B998025e114ec4ff40031aaab4518b069&iv=1&eo=0&t=419e190022a81f3&cug=1&rid=20000000E91FD1DBCB524D6DF70492713FB66EA902000000&type=3gphd&bc=2&dre=u17&si=39&dst=1 -H ‘Host:m-vali.cp31.ott.cibntv.net’ --output 5.mp4
$ curl http://111.32.172.193/6573D090AC3337156D97A3E46/03002007005B5E135DBBBCB19A0D12032F50C1-91B6-443E-980C-4DBF6A66005D.mp4\?ccode\=0501\&duration\=394\&expire\=18000\&psid\=2149fadb84798931ea1fad447b98209b23346\&ups_client_netip\=6a0b29d6\&ups_ts\=1617767009\&ups_userid\=1340295651\&utid\=1\&vid\=XMzE2MTAwODY0MA%3D%3D\&vkey\=B998025e114ec4ff40031aaab4518b069\&iv\=1\&eo\=0\&t\=419e190022a81f3\&cug\=1\&rid\=20000000E91FD1DBCB524D6DF70492713FB66EA902000000\&type\=3gphd\&bc\=2\&dre\=u17\&si\=39\&dst\=1 -H 'Host:m-vali.cp31.ott.cibntv.net' --output 5.mp4
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9471k 100 9471k 0 0 2909k 0 0:00:03 0:00:03 --:--:-- 2909k
6.查看手机余量并截图,对比流量消耗情况
如果1分钟内,流量余量没刷新,再用curl命令下载一遍。中国移动流量余量更新比较及时,与联通相当,体验优于电信。
消耗的流量都会被计入免流中:
正式测试新增的IP是否免流
这里挑选2个移动新增的IP地址( 112.46.5.158 、 111.13.18.171 ),分别测试是否能免流。
1. 手机打开中国移动,查看当前流量余量,并截图
2.替换IP进行请求
只需将之前的curl命令中的IP地址替换掉,域名必须保持不动。
$ curl http://112.46.5.158/6573D090AC3337156D97A3E46/03002007005B5E135DBBBCB19A0D12032F50C1-91B6-443E-980C-4DBF6A66005D.mp4\?ccode\=0501\&duration\=394\&expire\=18000\&psid\=2149fadb84798931ea1fad447b98209b23346\&ups_client_netip\=6a0b29d6\&ups_ts\=1617767009\&ups_userid\=1340295651\&utid\=1\&vid\=XMzE2MTAwODY0MA%3D%3D\&vkey\=B998025e114ec4ff40031aaab4518b069\&iv\=1\&eo\=0\&t\=419e190022a81f3\&cug\=1\&rid\=20000000E91FD1DBCB524D6DF70492713FB66EA902000000\&type\=3gphd\&bc\=2\&dre\=u17\&si\=39\&dst\=1 -H 'Host:m-vali.cp31.ott.cibntv.net' --output 5.mp4
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 9471k 100 9471k 0 0 2909k 0 0:00:03 0:00:03 --:--:-- 2909k