参见: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 返回镜像的访问时间:

    1. > x <- mirrorselect::mirrorselect(c("http://cran.stat.upd.edu.ph/",
    2. + "http://healthstat.snu.ac.kr/CRAN/",
    3. + "http://cran.ism.ac.jp/"))
    4. > head(x)
    5. mirror speed
    6. http://cran.ism.ac.jp/ http://cran.ism.ac.jp/ 0.817
    7. 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来限制访问成功的时间

    在规定的时间内能访问成功的,即是速度较快的镜像