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

前端之家收集整理的这篇文章主要介绍了如何正确设置cookie以使用httr获取URL内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要从使用cookie保护的网站下载信息.我手动传递此保护,然后将cookie插入httr.

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

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,传递:qwerty12)

解决方法

这将是使用GET和amp;的set_cookies的方法. HTTR:
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)"))

这对我有用,至少我认为它确实如此,因为我无法阅读该语言.表返回时具有相同的结构,没有提示登录.

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

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

编辑:@VadymB,我发现代码不起作用,直到我们重新启动RStudio.你的旅费可能会改变.

原文链接:https://www.f2er.com/html/231186.html

猜你在找的HTML相关文章