我正在尝试将以下 curl 命令转换为 httr/RCurl 以将 cookie 转换为 R。但我不确定如何使用 getURL(...) 或 GET(. ..)
curl --data "j_username=username&j_password=password" http://localhost:8080/myApp/j_spring_security_check --cookie-jar cookies.txt
Run Code Online (Sandbox Code Playgroud)
我能够获取上面命令行 curl 命令创建的 cookie 信息并将其粘贴到 GET 请求中(它有效)。如果我可以在 R 中生成 cookie,那就方便了。
这是我的工作 httr get GET():
GET(dataURL,
verbose(),
add_headers("Content-type"="application/json",
"Accept"="application/json",
"Accept-Version"=" 1.0",
"Cookie"="JSESSIONID=24BA7A80A02317AD2B6C87C8D10B6787"
)
)
Run Code Online (Sandbox Code Playgroud) 我曾经使用RCurl来获取需要登录的数据.现在我必须使用api密钥(以及用户ID,密码)获取数据,并且需要基本身份验证(Radian6 api:http://socialcloud.radian6.com/docs/read/Getting_Started )
如果它不需要身份验证,代码将类似于..
getURL("https:// address", userpwd="id:pswd", httpauth = 1L)
Run Code Online (Sandbox Code Playgroud)
但我不知道如何插入api密钥进行身份验证.到目前为止,我能够找到用python或Java编写的示例但尚未找到R示例.有人能指出我正确的方向吗?我想知道如何使用RCurl进行基本身份验证以及如何使用令牌来获取数据.(fyi,这是python的工作原理:使用API密钥进行Urllib2身份验证)
任何建议将非常感谢!
我在代理后面工作,所以我需要配置我的连接。它适用于定义选项列表和调用 getURL:
opts <- list(
proxy = "http://****",
proxyusername = "****",
proxypassword = "*****",
proxyport = ****
)
getURL("http://stackoverflow.com", .opts = opts)
Run Code Online (Sandbox Code Playgroud)
我想将此选项设置为默认值,但仍然找不到任何可行的解决方案。你有什么建议吗?
谢谢你。
我想将 csv 文件上传到 REST API。API 可通过 URL 访问,如
http://sampledomain.com/api/data/?key=xxx
Run Code Online (Sandbox Code Playgroud)
提供的示例 curl 调用如下所示:
curl --form "file=@my_data.zip" \
"http://sampledomain.com/api/data/?key=xxx"
Run Code Online (Sandbox Code Playgroud)
我怎样才能把这个电话翻译成 R?我听说过 RCurl 包,但不知道在这种情况下如何使用它。
问候
最近,我问了一个类似的问题:发送表达网站的回报动态结果(图片),并得到了无需发送表情到网页的领域terific响应,而是用来完成工作的网址.
我已经发现了一种更好的正则表达式可视化器(由G.格罗滕迪克指出),因为它可以被设置为基于Python的(更靠近于R;例如它允许像lookbehinds (?<=foo)该http://www.regexper.com/会因错误) .
使用这个正则表达式:"(?<=foo)\\s*foo[A-Z]\\d{2,3}"我想使用R发送(?<=foo)\s*foo[A-Z]\d{2,3},设置下拉菜单Python,打开或返回如下所示的可视结果:

相同的URL技巧在此处不起作用,因为在输入表达式时URL不会更改,而嵌入式JavaScript将返回结果.
MWE
## Expression
x <- "(?<=foo)\\s*foo[A-Z]\\d{2,3}"
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用R进行一些网页抓取,并且在几个页面中它相对容易.但是我已经在一个特定的网页上挣扎了几个星期:
我认为,问题在于最终页面使用javascript加载数据.
起初我认为这是一个非常简单的案例; 毕竟,它只是一个链接,你放在浏览器中查看数据,所以我认为好,这是一个很好的旧的获取请求,我天真地尝试这样的事情:
library(httr)
url <- "https://www.commerzbank.de/de/hauptnavigation/kunden/kursinfo/devisenk/weitere_waehrungen___indikative_kurse/indikative_kurse.jsp"
res1 <- GET(url = url)
Run Code Online (Sandbox Code Playgroud)
由于它不起作用,我检查了网页的工作方式,如下所示.首先,它设置一些cookie和一些参数,然后将浏览器(通过http POST请求)重定向到URL https://www.commerzbank.de/rates/do.rates.这个新页面加载了一个巨大的javascript代码(1923行代码,由http://jsbeautifier.org/格式化),负责下载数据并生成html代码以显示它.此代码使用原始页面设置的cookie和参数来确定要下载和显示的数据.
我在R中尝试了太多东西来获取此网页中的数据.我不会在这里放入我尝试的所有疯狂的东西,因为它太长了(有时令人尴尬),但我尝试过使用RCurl和其他软件包的大部分功能(repmis,scrapeR,httr,rjson等) .似乎没有任何工作,因为这些软件包似乎没有办法(至少自动)使javascript代码运行以下载数据.
是否有任何包/隐藏功能可以帮助我实现这一目标?
提前致谢.
相关问题:
我在看以下内容:
url = https://www.veilingbiljet.nl/resultaten-ajax.asp?order=datum&direction=D&page=1&field=0®io=39
Run Code Online (Sandbox Code Playgroud)
然后,
getURL(url)
Run Code Online (Sandbox Code Playgroud)
给出以下错误:
error:1411809D:SSL routines:SSL_CHECK_SERVERHELLO_TLSEXT:tls invalid ecpointformat list
Run Code Online (Sandbox Code Playgroud)
添加以下相关问题中建议的followinf curl选项,
getURL(url, ssl.verifypeer = TRUE,sslversion=3L)
Run Code Online (Sandbox Code Playgroud)
回报
Unknown SSL protocol error in connection to www.veilingbiljet.nl:443
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我正在尝试从 WorldPop UK 网站下载数据集中的许多国家/地区的大量文件(不仅仅是小示例)。下载每个文件将非常耗时且乏味。
我对 R 中的下载方法相当熟悉,但我无法让这些下载工作。我知道这是因为下载链接以某种方式通过html运行,但我不擅长html或java。
我阅读了大量有关 httr、RCurl 和 RSelenium 的文章。我更喜欢避免使用 RSelenium 的解决方案,因为我对其他软件包更加熟悉,并且可能共享代码,并且不想每次都设置浏览器(至少这是我的理解)
有人可以帮我解决这个问题吗?
直接下载链接到一个小文本(.txt)文件,该文件在浏览器中工作正常,但在 R 中使用 download.file 或 curl_download 则不行: http://www.worldpop.org.uk/data/files/index.php ?dataset =140&操作=下载&文件=60
例如,包含尼日利亚文件索引的网站(您可以在 html 代码中看到 href= 链接):http://www.worldpop.org.uk/data/files/index.php ?dataset=140&action=dir
在 Chrome 上,查看源代码:http://www.worldpop.org.uk/data/files/index.php? dataset=140&action=dir
下载链接位于我的开发者控制台上的第 558 行和第 559 行之间。
提前致谢!
我正在尝试使用 R 从经过身份验证的 API 读取 json,但没有成功。
我有 Curl 代码并尝试使用“curlconverter”库将其转换为 R 并尝试使用“httr”库获取它。
curl -X GET \
'https://api.cartolafc.globo.com/auth/liga/gurudocartola-com?orderBy=campeonato&page=1' \
-H 'Cache-Control: no-cache' \
-H 'x-glb-token: mytoken'
Run Code Online (Sandbox Code Playgroud)
我很感激在 R 中编写此代码的解决方案。
我想遍历一个 URL 列表,我想知道这些 URL 是否存在。
RCurl提供url.exists()功能。但是,输出似乎不正确,因为例如它说 amazon.com 未注册(这样做是因为url.exists()-function 不返回 200 范围内的值,在 amazon.com 的情况下)它是 405(“不允许的方法”)。
我也试过HEAD()和GET()由提供的httr软件包。但有时我会在此处收到错误消息,例如超时或 URL 未注册。
错误消息如下所示:
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached: Connection timed out after 10000 milliseconds
Error in curl::curl_fetch_memory(url, handle = handle) :
Could not resolve host: afsadadssadasf.com
当我收到这样的错误时,整个 for 循环就会停止。是否可以继续for循环?我试过tryCatch(),但据我所知,这只有在问题出在数据帧本身时才有帮助。
这个问题很简单,据我搜索,其他语言中也有类似的问题,但 R 中没有。
我想用 R 代码下载一个文件,但在下载之前,我想打印出下载时间的大小和估计。有没有办法直接在 R 基础上或使用curl 实用程序来执行此操作?
我想要做
curl -H "Authorization: Basic YOUR_API_KEY" -d '{"classifier_id":155, "value":"TEST"}' "https://www.machinelearningsite.com/language/classify"
Run Code Online (Sandbox Code Playgroud)
我试过了
h = getCurlHandle(header = TRUE, userpwd = YOUR_API_KEY, netrc = TRUE)
out <- getURL("https://www.machinelearningsite.com/language/classify?classifier_id=155&value=TEST", curl=h,ssl.verifypeer=FALSE)
Run Code Online (Sandbox Code Playgroud)
但它说方法不允许
http://snomedct.t3as.org/这是一个Web服务,可以分析英文临床文本,并报告任何可以检测到的概念.
对于例如 - 我有头痛.它会将头痛识别为症状.
现在我想做的是通过R将句子发送到Web服务,并将表格从网页返回到R进行进一步分析.