如何使用 R 从需要 cookie 的 SSL 页面下载压缩文件

2023-12-27

我正在尝试从 https 页面下载一个文件,该页面需要按下“我同意”按钮,然后存储 cookie。如果这个答案在某个地方很明显,我很抱歉..

当我直接在 Chrome 中打开网页并单击“我同意”时,文件开始自动下载。

我尝试复制这个例子 https://stackoverflow.com/questions/10213194/use-rcurl-to-bypass-disclaimer-page-then-do-the-web-scrapping,但我不认为恒生网站实际上存储cookie/身份验证,所以我不知道这个例子是否应该是我所需要的。

除此之外,我认为 SSL 使身份验证变得复杂,因为我认为 getURL() 调用将需要像 cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl")) 这样的证书规范

我是 RCurl 的初学者,不知道这个网站是否相当困难,或者我是否只是错过了一些明显的东西。

谢谢你!


这更容易做到httr因为它设置了一切,以便 cookie 和 https 无缝工作。

生成 cookie 的最简单方法是让网站为您生成,通过手动发布“我同意”表单生成的信息。然后,您发出第二个请求来下载实际文件。

library(httr)
terms <- "http://www.icpsr.umich.edu/cgi-bin/terms"
download <- "http://www.icpsr.umich.edu/cgi-bin/bob/zipcart2"

values <- list(agree = "yes", path = "SAMHDA", study = "32722", ds = "", 
  bundle = "all", dups = "yes")

# Accept the terms on the form, 
# generating the appropriate cookies
POST(terms, body = values)
GET(download, query = values)

# Actually download the file (this will take a while)
resp <- GET(download, query = values)

# write the content of the download to a binary file
writeBin(content(resp, "raw"), "c:/temp/thefile.zip")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 R 从需要 cookie 的 SSL 页面下载压缩文件 的相关文章

随机推荐

  • 搭建 dbcontext 时出现不明确的列名“name”错误

    我正在尝试从现有数据库构建脚手架 但该数据库有多个具有多个模式的表 并且某些表具有相同的名称但在不同的模式中 我 认为 这是我的问题的根源 我想知道您是否已经遇到过类似的情况吗 例如mySchema1 contacts and mySche
  • 如何从字符串中查找斜杠出现的次数

    如何使用 Excel VBA 宏查找字符串中正斜杠字符 的出现次数 老问题 但我想我会通过在 Excel 论坛上找到的答案来提高答案的质量 显然计数也可以使用找到 count Len string Len Replace string 答案
  • NodeJS:如何从文件中读取(最多)前 N 个字节?

    在 NodeJS 中 从文件中最多读取前 N 个字节的简洁 健壮且优雅的方法是什么 如果数据较少 那么我不希望抛出错误 如果有更多数据 那么我不希望将其读入内存 理想情况下无需安装外部软件包 也许涉及自 NodeJS 12 以来似乎是新的
  • 服务器在rails 3生产环境中找不到公用文件夹

    我正在使用最新的 Rails 3 beta 该应用程序在开发模式下工作正常 但是当我通过以下方式在生产模式下启动服务器时rails server e production 似乎public找不到文件夹 我收到如下错误消息 ActionCon
  • 在PHP中接收UDP数据包数据报

    我正在用 php 为 GPS 跟踪系统构建监听服务器 GPS 通过 UDP 数据包发送数据 我可以通过运行以下脚本来显示数据 然而 实际数据以符号形式出现 所以我猜我错过了转换 Reduce errors error reporting E
  • 以不同顺序遍历 3D 数组

    我有一个 3D 节点数组 我想通过从数组的中间节点开始 并向角落移动来遍历它 就像这样 and So on but for visualization purposes I ve shown in 2D but actually it is
  • swift xcode 从播放器列表中播放声音文件

    我正在寻找一种快速编码 可以从播放器列表中播放声音 而不是将声音作为资源添加到您的项目中 我主要找到了用法 NSURL fileURLWithPath NSBundle mainBundle pathForResource sound na
  • 在ios中使用Quartz 2d进行注释(注释、评论)

    我正在为 iPad 做基于 PDF 的应用程序 它支持缩略图视图 徒手注释和注释 Notes 我和我在网上搜索了很多 但没有找到任何使用 Quartz 2d 在 PDF 上进行注释的相关答案 我们可以使用以下方法获取 PDF 页面信息 CG
  • HID 兼容设备不会在 ChromeOS 上使用 chrome.hid API 进行枚举

    使用 USB HID 传感器我似乎只能用chrome usb API https developer chrome com apps usb在 Chrome 操作系统上 在 OS X 上我可以枚举chrome hid API https d
  • 正则表达式删除每行开头的空格?

    我想删除每行开头的空格 我每行都有数据 开头有一组空格 因此数据出现在中间 我想删除每行开头的空格 tmp tmp replace lt gt gt g 我怎样才能添加 s条件成那个replace 要删除所有前导空格 str str rep
  • 从哪里开始使用 API [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我以前从未使用过 API 并且在 HTML 和 CSS 之外几乎没有编程经验 并且我正在努力寻找任何清晰的教程或解释 所有 API 的工作方
  • 模拟函数调用实际函数

    我有 cassandra python 驱动程序的代码 from cassandra cqlengine management import sync table def sync my tables print sync table pr
  • 应该由 Promise 调用同步代码。然后创建一个新的 Promise

    我已经实现了一些代码 其中异步代码后面跟着一些同步函数 例如 function processSomeAsyncData asyncFuncCall then syncFunction catch error 如果我理解正确的话then也是
  • 套接字丢失数据

    我正在尝试编写 Java 代码来从流式 HTTP 连接接收数据 我想调试针对 spring websocket 服务器运行 Sockjs XHR 流时遇到的问题 我使用一些非常简单的代码来连接 URI uri The server Sock
  • 从 Android 中列表视图中放置的 EditText 获取值

    我不知道如何获取列表视图中的编辑文本值位置 我使用单工适配器用数据填充了列表视图 有人会给出从列表中获取 edittext 值的示例代码吗 for int i 0 i lt ListSortOrder getAdapter getCount
  • C++ 返回一行

    我正在编写一个多行系统 如下所示 string readLines string x string temp a vector
  • 如何在 FPDF 中设置下边距

    我最近深入研究了 FPDF 但我似乎不明白的是 为什么没有办法设置底部边距 有一些功能可以设置顶部 左侧和右侧的边距 但不能设置底部的边距 我现在假设我误解了 FPDF 工作原理的一些基本和概念性内容 但我不知道那可能是什么 所以要减少它
  • 如何从 JavaFX 中的 SceneBuilder 访问 UI 组件

    重复并已解决 请参阅下面的答案 我正在 JavaFX 中迈出第一步 似乎很难使用 SceneBuilder 我已经习惯了 Android 和 QtCreator 在我看来 访问 UI 组件要容易得多 就像是findViewById R id
  • 在 UI 中为控制器内的操作添加嵌套分组部分

    动作分组中是否可以有小节 我们目前使用基于控制器的区分来对功能进行分组 但托管大量控制器并且可以使用进一步的嵌套 换句话说 我知道操作可以按以下方式分组 排序 但可以多次分组 c GroupActionsBy apiDesc gt apiD
  • 如何使用 R 从需要 cookie 的 SSL 页面下载压缩文件

    我正在尝试从 https 页面下载一个文件 该页面需要按下 我同意 按钮 然后存储 cookie 如果这个答案在某个地方很明显 我很抱歉 当我直接在 Chrome 中打开网页并单击 我同意 时 文件开始自动下载 我尝试复制这个例子 http