【问题标题】:ViralHeat API issues with getURL() command in RCurl packageRCurl 包中的 getURL() 命令的 ViralHeat API 问题
【发布时间】:2014-06-25 21:14:31
【问题描述】:

我正在尝试使用 R 编程的病毒 Heat API 找到“我不是在开玩笑”(例如)的情绪。我在 RCurl 包中使用了 getURL,如下所示:

getURL("https://www.viralheat.com/api/sentiment/review.json?text=i%20am%20happy&api_key=", ssl.verifypeer=FALSE)

这在谷歌浏览器中运行良好。但在 IE 中,它被重定向到“https://www.viralheat.com/browsers”,因为 ViralHeat API 无法支持 IE Ver

我将 R_BROWSER env 选项更改为 Google Chrome(这是我的默认浏览器)。但是 getURL 仍然使用 IE,因为在执行上述 getURL 命令时仍然会重定向到浏览器页面。我将 IE 版本升级到 11。但看起来 virusheatAPI 在 IE 上根本不起作用,因为它仍然被重定向到浏览器页面。

有人遇到过这个问题吗?

【问题讨论】:

    标签: r api geturl


    【解决方案1】:

    RCurl 发出的请求不使用您的浏览器。他们应该使用 RCurl 自己的库来发出 HTTP 请求。

    网站很可能会检查请求的用户代理字符串以查看它是否是有效的浏览器。默认情况下,RCurl 似乎不像您的浏览器那样指定用户代理字符串。如果您想模拟 Chrome,请转到 http://www.whatsmyuseragent.com/ 以查看您当前的用户代理字符串是什么。将该值复制到 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。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-15
      • 1970-01-01
      相关资源
      最近更新 更多