首页 > 解决方案 > 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,但无济于事。

标签: rcurllibcurlhttr

解决方案


神奇地又开始工作了。一定是该网站,但我被告知该网站没有进行任何更改。它现在有效,这就是最重要的。


推荐阅读