参见:https://mp.weixin.qq.com/s/UJ3S2bFYASG9P4xBWDLQQg
https://mp.weixin.qq.com/s/9hSLryM-TSxZmoGwf_A3mg
两个思路:
- mirrorselect, 下载一个小文件,记录一下时间
- do::mirror.speed, 使用httr::GET来访问镜像主页,类似于在浏览器中打开镜像页面,使用httr::timeout来限制访问成功的时间, 在规定的时间内能访问成功的,即是速度较快的镜像
mirrorselect 包提供了两个功能:
mirrorselect 返回镜像的访问时间:
> x <- mirrorselect::mirrorselect(c("http://cran.stat.upd.edu.ph/",
+ "http://healthstat.snu.ac.kr/CRAN/",
+ "http://cran.ism.ac.jp/"))
> head(x)
mirror speed
http://cran.ism.ac.jp/ http://cran.ism.ac.jp/ 0.817
http://cran.stat.upd.edu.ph/ http://cran.stat.upd.edu.ph/ 1.331
mirrorselect::get_mirror() 返回bioc 或cran 的镜像列表。
而在mirror.speed 函数中,则是使用httr::GET来访问镜像主页,类似于在浏览器中打开镜像页面
使用httr::timeout来限制访问成功的时间
在规定的时间内能访问成功的,即是速度较快的镜像