r - R 无法识别的内容编码类型。libcurl 理解 deflate、gzip、br 内容编码
问题描述
在过去的一年里,我有一个可以从网站提取数据的工作 R 脚本。突然,脚本停止工作。在收到此错误之前,我没有对脚本进行任何更改,也没有对运行 rstudio 服务器的 linux 服务器进行任何更改(此后我在尝试修复错误时进行了更改)。不幸的是,我不允许发布 URL(我知道,这使得它对故障排除非常无用)。
停止工作的脚本部分如下所示:
response <- GET(
url = "https://xxxxxxxxxxxx",
add_headers(
'Accept' = "application/json",
'accept-encoding' = 'gzip, deflate, br',
'authorization' = xxxxxxxx,
'user-agent' = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36",
'sec-fetch-dest' = 'empty',
'sec-fetch-mode' = 'cors',
'sec-fetch-site' = 'same-site'
)
)
过去,我会从网站收到适当的数据,其中包括:
No encoding supplied: defaulting to UTF-8.
但是,从昨天开始,我收到以下错误:
Error in curl::curl_fetch_memory(url, handle = handle) :
Unrecognized content encoding type. libcurl understands deflate, gzip, br content encodings.
如果我从我的 Windows 桌面 RStudio 版本运行我的脚本,我会得到正确的结果,所以 linux 服务器上似乎发生了一些变化;但是,我在 linux 服务器上重新安装了 R、RStudio,以及 curl 和 httr 包以及 libcurl4,但无济于事。
解决方案
神奇地又开始工作了。一定是该网站,但我被告知该网站没有进行任何更改。它现在有效,这就是最重要的。
推荐阅读
- python - 使用正则表达式在python中查找url
- macos - 关闭浏览器时,mac上的shinyloadtest记录不会停止
- r - For 循环没有正确过滤
- android - 迁移到 AndroidX 后已将 compileSdkVersion 更新为 28,但仍然收到有关 fontVariationSettings 和 ttcIndex 的 gradle 错误
- javascript - 我可以在不安装 Visual Studio 的情况下测试 JavaScript WinRT 代码吗?
- angular - 离子:产品建设问题
- swift - NSTableView 获取正在使用键盘编辑的单元格
- c++ - getline 在 C++ 中导致分段错误?
- android - 如何使用 volleyplus 库下载文件
- typescript - Vue 和 TypeScript:找不到名称“出口”