我试图找到"我不是在开玩笑的情绪" (例如)使用R编程的病毒Heat API。我在RCurl包中使用了getURL,如下所示:
getURL(" https://www.viralheat.com/api/sentiment/review.json?text=i%20am%20happy&api_key=",ssl.verifypeer = FALSE)
这在Google Chrome中运行良好。但在IE中它被重定向到" https://www.viralheat.com/browsers"因为ViralHeat API无法使用IE Ver< 9。
我将R_BROWSER env选项更改为Google Chrome(这是我的默认浏览器)。但是getURL仍然使用IE,因为执行上面的getURL命令仍然会重定向到浏览器页面。我将IE版本升级到11.但看起来像virusheatAPI根本不能在IE上工作,因为它仍然被重定向到浏览器页面。
有人遇到过这个问题吗?
答案 0 :(得分:0)
RCurl提出的请求不使用您的浏览器。他们应该使用RCurl自己的库来发出HTTP请求。
网站最有可能检查请求的useragent字符串,看它是否是有效的浏览器。 RCurl似乎没有像浏览器那样默认指定一个useragent字符串。如果您要模仿Chrome,请转到http://www.whatsmyuseragent.com/以查看您当前的useragent字符串是什么。将该值复制到R中的变量,然后运行
ua <- "<your full user agent here>"
getURL("https://www.viralheat.com/api/sentiment/review.json?text=i%20am%20happy&api_key=",
ssl.verifypeer=FALSE, .opts=list(useragent=ua))
这应该避免浏览器嗅探步骤,至少让你进入API。