为什么方法=';卷曲';在R中的download.file中不工作?

为什么方法=';卷曲';在R中的download.file中不工作?,r,curl,R,Curl,我在R工作。我想从web下载excel文件,我正在使用download.file命令: download.file(url = "http://www.jaredlander.com/data/ExcelExample.xlsx", destfile="data/ExcelExample.xlsx",method='curl') 但当我尝试运行代码时,它会显示一个错误,如下所示: 下载.文件(url=“”, +destfile=“data/ExcelExample.xlsx

我在R工作。我想从web下载excel文件,我正在使用download.file命令:

download.file(url = "http://www.jaredlander.com/data/ExcelExample.xlsx",
          destfile="data/ExcelExample.xlsx",method='curl')
但当我尝试运行代码时,它会显示一个错误,如下所示:

下载.文件(url=“”, +destfile=“data/ExcelExample.xlsx”,方法='curl') 下载文件中出错(url=“”,: “curl”调用的退出状态为非零


链接通过http 301响应重定向到https地址,这似乎不太喜欢。“内部”和“wget”方法也不起作用

我使用的是Windows,而且我似乎根本没有指定方法——根据手册,默认值是“auto”,它可能为您选择了最合适的方法。在我的例子中,这似乎给出了与
method=“wininet”
相同的结果,尽管
method=“libcurl”
也可以工作

如果您使用的不是Windows,请尝试删除
method=“curl”
,它应该可以正常工作。否则,请尝试删除
method=“libcurl”

您可以看到,即使我有一个有效的文件路径,我也可以复制您的错误

download.file(url=”http://www.jaredlander.com/data/ExcelExample.xlsx", 
expand(“~/jared.xlsx”),method=“curl”)
#下载文件中出错(url=”http://www.jaredlander.com/data/ExcelExample.xlsx",  : 
#“curl”调用的退出状态为非零
但我可以通过完全删除“方法”来实现它

download.file(url=”http://www.jaredlander.com/data/ExcelExample.xlsx", 
expand(“~/jared.xlsx”))
#正在尝试URL'https://www.jaredlander.com/data/ExcelExample.xlsx'
#内容类型“application/vnd.openxmlformats”长度为2045364字节(2.0 MB)
#下载2.0 MB

问题在于
destfile
参数。此文件夹是否存在,或者您是否有权在其中写入?为了测试代码,您可以删除destfile参数。文件夹存在,我也可以在同一位置下载其他文件,但只有此文件不工作。文件已下载,但新问题是该文件不工作我不能用R打开它。你是怎么打开它的?Rohit?它给了你什么错误?我试图运行的代码是:library(readxl)excel_sheets(“C:/Users/PC/Documents/jared.xlsx”),它的输出是:excel_sheets(“C:/Users/PC/Documents/jared.xlsx”)错误:求值错误:unzGetCurrentFileInfo中的zipfile出现错误-103。@当您下载.file时,是否可以尝试
download.file(url=”http://www.jaredlander.com/data/ExcelExample.xlsx“,”C:/Users/PC/Documents/jared.xlsx“,mode=“wb”)
,以便文件以二进制格式保存。现在应该打开它。