gpt4 book ai didi

r - 如何捕获 RCurl 详细输出

转载 作者:行者123 更新时间:2023-12-04 14:45:52 25 4
gpt4 key购买 nike

我有以下要求

library(RCurl)
res=getURL("http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=RCurl&btnG=Search",
.opts=list(verbose = TRUE)
)

并希望捕获调用的详细输出(即,在 R 控制台中以红色打印的内容)。我认为输出行是消息,因此打印到 stderr() .以下适用于消息
sink(textConnection("test","w"),type="message")
message("test message")
sink(stderr(),type="message")
test
#[1] "test message"

但如果我更换 message("test message") 就不会通过 RCurl 请求 res=getURL(.....)如上所述。
显然,RCurl 的输出没有打印到 stderr() .它也没有打印到 stdout() .

那么,我如何捕获输出?

奖金问题:是 sink(stderr(),type="message")将连接设置回 R 的默认值的正确方法?

感谢您的帮助!

最佳答案

您需要使用 debugGatherer功能:

d <- debugGatherer()
x <- getURL("http://www.google.com/search?hl=en&lr=&ie=ISO-8859-1&q=RCurl&btnG=Search",
debugfunction = d$update, verbose = TRUE)

然后您可以拔出 verbose内容使用:
d$value()

但是,我想您只需要以下两个元素:
> cat(d$value()['text'])
About to connect() to www.google.com port 80 (#0)
Trying 173.194.112.176... connected
Connected to www.google.com (173.194.112.176) port 80 (#0)
Connection #0 to host www.google.com left intact
Closing connection #0

> cat(d$value()['headerIn'])
HTTP/1.1 200 OK

Date: Thu, 14 Nov 2013 19:54:18 GMT

Expires: -1

Cache-Control: private, max-age=0

Content-Type: text/html; charset=ISO-8859-1

Set-Cookie: PREF=ID=783ad15e124023b0:FF=0:TM=1384458858:LM=1384458858:S=GuYBk1a3SfTJBIjh; expires=Sat, 14-Nov-2015 19:54:18 GMT; path=/; domain=.google.com

Set-Cookie: NID=67=sNsGhMCgjGZFtILEodYKCjxsi0Yio3oSA4xHakDGVHQKxG-fJlY05AlYlJf4Wwcto2HY2uP5Zt2iWxA4Dt0KUWxq14J-F-KvJ38zoBhWBWNxm6Ju0Oupl8gj41USR0PB; expires=Fri, 16-May-2014 19:54:18 GMT; path=/; domain=.google.com; HttpOnly

P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."

Server: gws

X-XSS-Protection: 1; mode=block

X-Frame-Options: SAMEORIGIN

Transfer-Encoding: chunked

关于r - 如何捕获 RCurl 详细输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19982087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com