首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用httr正确设置cookie以获取URL内容

如何使用httr正确设置cookie以获取URL内容
EN

Stack Overflow用户
提问于 2014-10-18 16:17:08
回答 1查看 6.2K关注 0票数 6

我需要从网站上下载使用cookie进行保护的信息。我手动传递这个保护,然后将cookie插入到httr

这里有类似的主题,但它不能解决我的问题:(Copying cookie for httr)

代码语言:javascript
复制
library(httr)
url<-"http://smida.gov.ua/db/emitent/year/xml/showform/32153/125/templ"

cook<-"_SMIDA=9117a9eb136353bd6956651bd59acd37; __utmt=1; __utma=29983421.1729484844.1413489369.1413625619.1413627797.3; __utmb=29983421.7.10.1413627797; __utmc=29983421; __utmz=29983421.1413489369.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"

response <- GET(url, config(cookie= cook))

content(x = response,as = 'text', encoding = "UTF-8")   

因此,当我使用内容时,它会返回我没有登录的信息(就像我没有cookie一样)。

我该如何解决这个问题?

测试凭证是登录:mytest2,pass:qwerty12)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-18 16:39:54

这将是使用set_cookiesGET & httr的方式

代码语言:javascript
复制
GET("http://smida.gov.ua/db/emitent/year/xml/showform/32153/125/templ", 
    set_cookies(`_SMIDA` = "7cf9ea4bfadb60bbd0950e2f8f4c279d",
                `__utma` = "29983421.138599299.1413649536.1413649536.1413649536.1",
                `__utmb` = "29983421.5.10.1413649536",
                `__utmc` = "29983421",
                `__utmt` = "1",
                `__utmz` = "29983421.1413649536.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"))

这对我来说很管用,至少我觉得这样做是因为我看不懂这门语言。返回的表具有相同的结构,没有提示登录。

不幸的是,登录时的captcha阻止了使用Rselenium (或其他类似的爬行包),因此您必须继续手动抓取这些cookie(或者使用实用程序从会话中提取它们)。

最后,您可能需要认真考虑更改这些凭据,现在:-)

编辑:@VadymB和我都发现,直到,我们重新启动RStudio,代码才能运行。你的里程可能会不同。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26441865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档