【发布时间】:2019-06-13 18:05:15
【问题描述】:
我想使用 R Web 服务器包 Rook 获取 POST 请求正文的原始文本。
我已经注册了 R 应用:
parsePOST <- function(env) {
request <- Rook::Request$new(env)
body <- request$body()
print(body)
}
R.server$add(app = parsePost, name = "reportGeneratorApp")
很遗憾,body 是 Rook::RhttpdInputStream。我尝试过的事情:
这仅提供第一行:
body <- request$body()$read_lines()
结果:{\n这仅提供正文的开头,而与“Content-Length”标头无关。所有其他读取行都是
character(0)。此外,这些行在随机位置缺少数据。body <- request$body()$read_lines(10)
结果:
[2] " \"data\": {\n "
[3] "evious\": [\n 2\n ],\n \"v"
[4] "e\": {\n \"Differentially private me"
[5] " \"values\": [\n 44.39"
[6] "an mechanismLaplace\"\n ],\n \"arguments\": ["
[7] " },\n \"batch\": [\n 1\n ]\n }\n "
[8] "\n ]\n }\n }\n },\n \"educ_income\": {\n \"ols\": {\n \"ols0\": {\n \"rel"
[9] ""
[10] ""
POST 请求由邮递员发送,标头为Content-Type: application/json。
我很惊讶地发现检索请求正文如此困难。
【问题讨论】:
-
如果没有可重复的例子,很难帮助解决这个问题。
标签: r post r-rook-package