我目前正在使用这个R代码来获取我想在Ubuntu机器上做的事情......
jsontext <- '{"text": "its really cold in here"}'
a <- paste('curl -H "Content-Type: application/json" -d ', " '", jsontext, "'", ' -X POST http://urlhere', sep="")
response <- system(a)
Run Code Online (Sandbox Code Playgroud)
这给了我在命令提示符下输入时会得到的结果......
curl -H "Content-Type: application/json" -d '{"text": "its really cold in here"}' -X POST http://urlhere
Run Code Online (Sandbox Code Playgroud)
我尝试过使用RCurl postForm(uri ="http:// urlhere",有各种选项......)并且没有任何结果.以这种方式做得更快还是值得搞清楚?
谢谢
我是ftpUpload第一次尝试在RCurl包中使用它.
我正在尝试访问的站点使用sftp协议.我已确保安装libcurl版本,其中包括进行安全连接的能力.
SFTP列在RCurl可用的协议中:
curlVersion()$protocols
[1] "dict" "file" "ftp" "ftps" "gopher"
[6] "http" "https" "imap" "imaps" "ldap"
[11] "pop3" "pop3s" "rtmp" "rtsp" "scp"
[16] "sftp" "smtp" "smtps" "telnet" "tftp"
Run Code Online (Sandbox Code Playgroud)
然而,当我运行该fileUpload功能时,我得到:
ftpUpload(what = "some_file.png",
to = "userid:password@sftp://ec2-some-server-ip.compute-1.amazonaws.com")
Error in function (type, msg, asError = TRUE) :
Couldn't resolve host 'sftp'
Run Code Online (Sandbox Code Playgroud)
我也尝试在参数化方面打破userid和password退出,但我得到相同的响应.
任何建议,将不胜感激.
我试图使用twitteR的searchTwitter()函数与curl代理,但我得到一个与JSON相关的错误.我看到很多人都遇到了同样的JSON错误.但我相信我的事业是不同的,所以我会在我的问题中尝试具体.
我已经使用Twitter的API正确设置了OAuth连接.我在Windows上,使用最新版本的R和所有软件包.我使用代理是因为我公司的防火墙.我RCurlOptions用来配置代理.我还带了RJSONIO.当我不必配置代理时,代码在我公司的防火墙之外运行良好.
library(RCurl)
library(twitteR)
library(RJSONIO)
options(RCurlOptions = list(
proxy ="proxy.mycompany.net:8080",
proxyuserpwd="USERNAME:PASSWORD",
cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")))
load("OAuth.RData") #Load in my OAuth credentials object
registerTwitterOAuth(cred)
geico.tweets <- searchTwitter('@geico', n = 2)
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Error in twFromJSON(out) :
Error: Malformed response from server, was not JSON.
Run Code Online (Sandbox Code Playgroud)
我知道这不是Twitter返回R无法正确解析的字符的问题,因为我甚至无法引入任何单个推文(另外,它在防火墙之外工作正常).
此链接表明它可能是由于我使用RCurl引起的:https://github.com/omegahat/RCurl/issues/1
他的解释是因为我使用了RCurl而导致JSON搞砸了.将\\被转换为\通过R_mapString,这被称为仅如果数据包括Unicode字符.这跟我的理解差不多.他还提到了一个.mapUnicode论点.
RCurlOptions我可以配置一些参数来解决这个问题吗?谢谢.
我正在尝试获取网站目录中的文件列表.有没有办法类似于本地目录列表的dir()或list.files()命令?我可以使用RCurl连接到网站(我需要它,因为我需要通过HTTPS连接SSL):
library(RCurl)
text=getURL(*some https website*
,ssl.verifypeer = FALSE
,dirlistonly = TRUE)
Run Code Online (Sandbox Code Playgroud)
但这会创建一个HTML文件,其中包含文件列表的图像,超链接等,但我只需要一个R矢量文件,就像你用dir()获得的那样.这可能吗?或者我是否必须进行HTML解析才能提取文件名?听起来像是一个简单问题的复杂方法.
谢谢,
编辑:如果你可以使用http://hgdownload.cse.ucsc.edu/goldenPath/hg19/encodeDCC/wgEncodeGencodeV7/,那么你会明白我的意思.
我正在尝试使用R中RCurl包的getURL函数从API中抓取页面上的数据.我的问题是当我使用R发出请求时,我无法复制在Chrome中打开URL时得到的响应基本上,当我在Chrome中打开API页面(下面的url)时它工作正常但是如果我在R中使用getURL请求它(或在Chrome中使用隐身模式)我得到'500内部服务器错误'响应而不是漂亮的我正在寻找的JSON.
有问题的网址/ API:http://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country = USA¤cy = USD&language = en-us&productSet = NN& sku = LD04077082
这是我在[R]中的(失败的)请求.
test2 <- fromJSON(getURL("http://www.bluenile.com/api/public/loose-diamond/diamond-details/panel?country=USA¤cy=USD&language=en-us&productSet=BN&sku=LD04077082", ssl.verifypeer = FALSE, useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36"))
Run Code Online (Sandbox Code Playgroud)
我的研究到目前为止 我首先在堆栈上查看了这个先前的问题并在我的useragent中添加了请求(没有解决问题但可能仍然是必要的): RCurl包中的getURL()命令的ViralHeat API问题
接下来,我查看了这篇有用的帖子,它指导了我的理由: R浏览器和GET/getURL之间的差异
我对解决方案的想法 这不是我的专业领域,但我的猜测是请求缺少完成请求所需的cookie(因此它在隐身模式下无法在我的浏览器中工作).我将成功请求的请求和响应与不成功的请求进行了比较:
成功要求:

不成功的请求:

有人有主意吗?我应该在RSelenium第二篇文章中尝试使用MrFlick建议的软件包.
在 Windows 7 中使用 R 3.1.1 64 位,我无法加载 RCurl 或任何依赖于 RCurl 的包。我已经验证了 .dll 和其他文件在预期位置(即错误消息中打印的那个)的存在。
几个月前我在 Hadley 的 Github 上打开了一个问题,但当有人回复时,我已经开始使用另一个 R 副本,唯一的建议是重新安装,我已经做过好几次了。
我收到的错误是这样的:
require(devtools) 正在加载所需的包:devtools 在 inDL(x, as.logical(local), as.logical(now), ...) 中出错:无法加载共享对象 'C:/Users/jmiller/Documents/R /win-library/3.1/RCurl/libs/i386/RCurl.dll':LoadLibrary 失败:找不到指定的程序。
和
require(devtools) 正在加载所需的包:devtools 在 inDL(x, as.logical(local), as.logical(now), ...) 中出错:无法加载共享对象 'C:/Users/jmiller/Documents/R /win-library/3.1/RCurl/libs/i386/RCurl.dll':LoadLibrary 失败:找不到指定的程序。
有时即使仅使用与 完全无关的原始函数也会出现错误RCurl,例如:
> require(devtools)
Loading required package: devtools
Error in inDL(x, as.logical(local), as.logical(now), ...) :
unable to load shared object 'C:/Users/jmiller/Documents/R/win-library/3.1/RCurl/libs/i386/RCurl.dll':
LoadLibrary failure: The specified procedure could not be found.
Run Code Online (Sandbox Code Playgroud)
我几乎想知道问题是否以某种方式inDL而不是 …
我希望你能为我在为R安装RCurl和卷曲包时遇到的这个问题提供帮助.
Rd warning: /tmp/RtmpOBkvFC/R.INSTALLd07e6c06faf4/RCurl/man/url.exists.Rd:5: missing file link ‘file.exists’
** building package indices
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/home/majaidi/R/x86_64-redhat-linux-gnu-library/3.1/RCurl/libs/RCurl.so':
/lib64/libgssapi_krb5.so.2: symbol krb5int_buf_len, version krb5support_0_MIT not defined in file libkrb5support.so.0 with link time reference
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/majaidi/R/x86_64-redhat-linux-gnu-library/3.1/RCurl’
The downloaded source packages are in
‘/tmp/RtmpX6poG4/downloaded_packages’
Warning message:
In install.packages(pkgs = pkgs, lib = lib, repos = repos, ...) : …Run Code Online (Sandbox Code Playgroud) 我正在尝试从github安装flowIncubator包(链接到包:https://github.com/RGLab/flowIncubator).我正在使用R版本3.3.1(2016-06-21).我试过这段代码:
devtools::install_github("RGLab/flowIncubator")得到这个错误:
Error in curl::curl_fetch_disk(url, x$path, handle = handle) :
Timeout was reached
> traceback()
12: .Call(R_curl_fetch_disk, url, handle, path, "wb", nonblocking)
11: curl::curl_fetch_disk(url, x$path, handle = handle)
10: request_fetch.write_disk(req$output, req$url, handle)
9: request_fetch(req$output, req$url, handle)
8: request_perform(req, hu$handle$handle)
7: httr::GET(url, path = path, httr::write_disk(path = tmp))
6: remote_package_name.github_remote(remote)
5: remote_package_name(remote)
4: FUN(X[[i]], ...)
3: vapply(remotes, install_remote, ..., FUN.VALUE = logical(1))
2: install_remotes(remotes, quiet = quiet, ...)
1: devtools::install_github("RGLab/flowIncubator")
Run Code Online (Sandbox Code Playgroud)
我试图更新两个软件包devtools和curl,我试图将R更新为旧版本,我试图下载.zip文件并通过R studio安装它然后从库加载包.我也尝试直接将包文件放入库中.我使用过函数install.packages(),但无法安装它.
当前通过将不同的字符串传递给html_session()方法来更改 user_agent 。
有没有办法在抓取网站时更改计时器上的 IP 地址?
我想从网站下面定期提取一个表格。
单击积木名称(BLOK 16 A, BLOK 16 B, BLOK 16 C, ...)时,价格表会发生变化。URL 不改变,页面通过触发改变
javascript:__doPostBack('ctl00$ContentPlaceHolder1$DataList2$ctl04$lnk_blok','')
Run Code Online (Sandbox Code Playgroud)
在搜索 google 和 starckoverflow 后,我尝试了 3 种方法。
我尝试过的没有 1:这不会触发 doPostBack 事件。
postForm( "http://www.kentkonut.com.tr/tr/modul/projeler/daire_fiyatlari.aspx?id=44", ctl00_ContentPlaceHolder1_DataList2_ctl03_lnk_blok="ctl00$ContentPlaceHolder1$DataList2$ctl03$lnk_blok")
Run Code Online (Sandbox Code Playgroud)
我尝试过的没有 2: selenium remote 似乎可以在 ( http://localhost:4444/ ) 上工作,但 remotedriver 无法导航。返回此错误。(checkError(res) 中的错误:httr 调用中的未定义错误。httr 输出:length(url) == 1 不是 TRUE)
library(RSelenium)
startServer()
remDr <- remoteDriver()
remDr <- remoteDriver(remoteServerAddr = "localhost"
, port = 4444L, browserName = "firefox")
remDr$open()
remDr$getStatus()
remDr$navigate("http://www.kentkonut.com.tr/tr/modul/projeler/daire_fiyatlari.aspx?id=44")
Run Code Online (Sandbox Code Playgroud)
我尝试过的没有 3:这是触发 dopostback 事件的另一种方式。它不导航。
base.url <- "http://www.kentkonut.com.tr/tr/modul/projeler/",
event.target <- 'ctl00$ContentPlaceHolder1$DataList2$ctl03$lnk_blok',
action <- "daire_fiyatlari.aspx?id=44" …Run Code Online (Sandbox Code Playgroud)