R XML包:如何设置用户代理?

Dar*_*ook 3 user-agent r libxml2

我已经确认R调用XML函数(如htmlParse和readHTML)会将空白用户代理字符串发送到服务器.

?XML::htmlParse告诉我isURL"libxml解析器处理与服务器的连接,而不是R设施".这是否意味着无法设置用户代理?

(我确实尝试过,options(HTTPUserAgent="test")但没有应用.)

小智 5

马特的回答是完全正确的.至于下载到字符串/字符向量,就可以使用RCurlgetURLContent()(或getForm()postForm()如适用).使用这些功能,您可以对HTTP请求进行巨大的控制,包括能够设置用户代理和标头中的任何字段.所以

 x = getURLContent("http://biostatmatt.com", useragent = "BioStatMatt-via-R", 
                      followlocation = TRUE)
 htmlParse(x, asText = TRUE)  # or htmlParse(I(x))
Run Code Online (Sandbox Code Playgroud)

做的工作.