- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试 roadoi
从 R 访问 Unpaywall,但无论我尝试查询什么,我都会收到以下响应:
Error in UseMethod("http_error") : no applicable method for 'http_error' applied to an object of class "c('simpleError', 'error', 'condition')"
运行 methods(http_error)
给我这个:
[1] http_error.character* http_error.integer* http_error.response*
这可能是由于我位于机构防火墙后面造成的吗? (即便如此,这似乎很奇怪……)
有办法解决吗?
最佳答案
http_error
(实际上来自库httr
)是一个非常简单的函数:它加载由字符给出的 url (http_error.character
),检索响应 (http_error.response
) 并最终查看响应代码 (http_error.integer
)。如果响应代码为 >=400
,则函数返回 TRUE
,否则返回 FALSE
。
您的错误表明,您(或链中的任何函数)尝试在 simpleError
对象上调用 http_error
。我的猜测是您的防火墙设置阻止了该请求。由于请求被阻止,底层 httr::RETRY
(从 oadoi_fetch
调用)返回错误而不是正确的响应对象,并且 http_error
只看到这个错误对象并中断。
如果我在本地关闭我的代理(我可以通过它发出请求),我也会收到错误:
library(roadoi)
Sys.unsetenv(c("HTTP_PROXY", "HTTPS_PROXY"))
oadoi_fetch("10.1038/nature12373", email = "name@whatever.com")
# Error in UseMethod("http_error") :
# no applicable method for 'http_error' applied to an object of class
# "c('simpleError', 'error', 'condition')"
一旦我的代理设置正确,我就会得到
Sys.setenv(HTTPS_PROXY = my_proxy, HTTP_PROXY = my_proxy)
oadoi_fetch("10.1038/nature12373", email = "name@whatever.com")
# # A tibble: 1 x 16
# doi best_oa_location oa_locations data_standard is_oa genre journal_is_oa journal_is_in_d~ journal_issns journal_name publisher title year updated non_compliant authors
# <chr> <list> <list> <int> <lgl> <chr> <lgl> <lgl> <chr> <chr> <chr> <chr> <chr> <chr> <list> <list>
# 1 10.1038~ <tibble [1 x 10]> <tibble [4 x~ 2 TRUE journa~ FALSE FALSE 0028-0836,147~ Nature Springer ~ Nanometre-s~ 2013 2019-04-0~
如果问题确实出在代理上,我会尝试以下方法,这对我在公司 Windows 计算机上的操作有所帮助,但可能取决于您本地的 IT 设置:
## get the proxy settings
system("netsh winhttp show proxy")
Sys.setenv(HTTP_PROXY = <the proxy from netsh>, HTTPS_PROXY = <the proxy from netsh>)
<小时/>
实际上,您可以轻松地重现该错误:
httr::http_error(simpleError("Cannot reach the page"))
# Error in UseMethod("http_error") :
# no applicable method for 'http_error' applied to an object of class
# "c('simpleError', # 'error', 'condition')"
关于r - Roadoi 中的 UseMethod ("http_error"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55244646/
对比以下两个代码片段: 1) > y g g.numeric g(10) [1] 2 2) > x g g.numeric g(10) [1] 1 在第一个片段中,g.numeric 的自
试图理解为什么 rownames = FALSE 没有从 Test 传递到 Test.list? Test = function( object , rownames = FALSE , ... )
我有一个数据框 IRC_DF,我想在输入对象上创建一个迭代器到词汇表,为此我尝试这样做: it_train <- itoken(IRC_DF$Raison.Reco, preprocessor = p
所以我在 R Studio 中运行下面的代码并收到此错误: Error in UseMethod("tbl_vars") : no applicable method for 'tbl_vars' a
我想弄清楚 R 的 UseMethod找到一个方法,一旦它弄清楚它在寻找什么(即函数 MyGeneric( x ) 用类 MyClass: MyGeneric.MyClass 的 x 调用) 具体涉及
我想使用 R6 类和泛型方法 (UseMethod) 将不同类的小对象(Small1、MyClassA 和 Small2、MyClassB)添加到 MyClass 的 Big 实例中的公共(publi
我正在尝试创建 R 包的第一次尝试。我有下面的一些功能。 #' @export overview <- function(x, ...) { UseMethod("overview") } ov
我希望能够调度到 environment 中定义的方法.这将允许我为 proto 定义多态方法。对象(proto 对象又继承自 environment 类)。例如。: x x$foo(list())
我正在尝试 roadoi 从 R 访问 Unpaywall,但无论我尝试查询什么,我都会收到以下响应: Error in UseMethod("http_error") : no applicable
当我尝试在 test_dir 函数中定义路径时,它会提示错误: Error in UseMethod("xml_add_child") : no applicable method for 'xml_
如果需要根据R对象的类以不同的方式处理R对象,则可以在单个函数中使用if和else: foo getS3method('foo','list') function (x) { # Foo the
在 R 中,我准备了多个 ggplot2 图形,它们被保存到这样的变量中: flashplot multiplot(p1, p2, p3, p4, cols=2) Error in UseMetho
我尝试了针对this question而发布的答案,但是错误没有改变。我试图以相同的方式预处理训练集和测试集。它们来自两个不同的文件,我不确定我的老师是否会把我混合在一起,所以在拆分它们之前进行预处理
我尝试使用 raster 包的提取方法从 Raster* 对象中提取值。 RStudioPrompt> jpnpe search() [1] ".GlobalEnv" **"pac
我是 R 的新手,目前正在完成一项处理网络抓取的任务。 我应该读入此网页中的所有句子:https://www.cs.columbia.edu/~hgs/audio/harvard.html 这是我当前
我是 R 的新手,目前正在完成一项处理网络抓取的任务。 我应该读入此网页中的所有句子:https://www.cs.columbia.edu/~hgs/audio/harvard.html 这是我当前
所以我有这个数据集 # A tibble: 268 x 1 `Which of these social media platforms do you have an account in ri
在我的玩具包中,我定义了 %+%运算符作为 paste0() 的别名.试图减少与其他包的干扰,我通过以下方式实现: `%+%` <- function(...) UseMethod("%+%") `%
我正在尝试使用ggsave()保存绘图。我输入以下内容: library(ggplot2) Test = data.frame("X" = seq(1, 10, 1), "Y" = 2*seq(1,
我是一名优秀的程序员,十分优秀!