逐行读取R中的HTTPS连接

当使用open =“r”创建连接时,它允许逐行读取,这对批处理大数据流很有用.例如,
this script通过一次读取100行来解析大小的gzip压缩JSON HTTP流.但不幸的是R不支持SSL:

> readLines(url("https://api.github.com/repos/jeroenooms/opencpu"))
Error in readLines(url("https://api.github.com/repos/jeroenooms/opencpu")) : 
  cannot open the connection: unsupported URL scheme

RCurl和httr包确实支持HTTPS,但我认为它们不能创建类似于url()的连接对象.是否有其他方法可以逐行读取HTTPS连接,类似于上面脚本中的示例?

最佳答案 是的,RCurl可以“逐行阅读”.事实上,它总是这样做,但更高级别的功能为了方便起见隐藏了这一点.您可以使用writefunction(和标头的headerfunction)来指定每次libcurl从结果体中收到足够的字节时调用的函数.该功能可以做任何想做的事情. RCurl包中有几个这样的例子.但这是一个简单的问题

curlPerform(url = "http://www.omegahat.org/index.html", 
            writefunction = function(txt, ...) { 
                                 cat("*", txt, "\n")
                                 TRUE
                            })
点赞