ruby-on-rails - 如何使用 ruby 在浏览器中读取或获取请求有效负载标头
问题描述
我设法编写了一个使用 capybara(Capybara.current_session.driver.browser.manage.all_cookies)
从浏览器读取 cookie 的 ruby 脚本。我找不到读取 API 完整请求标头的方法。比如 Method、Content-Type、Accept-language、CSRF 等。
有人可以点亮一些灯吗!
解决方案
tl;博士; 你不应该使用 Capybara 来编写 API 测试
您为这项工作使用了错误的工具。Capybara 旨在从用户的角度测试应用程序。由于用户并不真正关心标题之类的东西(只是它们在浏览器中的影响)Capybara 不提供它们。这也是为什么您必须在驱动程序特定的方法上走这么远才能获取 cookie 的原因——您真的不应该直接访问 Capybara 驱动测试中的那些,而只是测试 cookie 控制的行为发生。
推荐阅读
- typescript - 暂停后计数器从 0 开始
- html - 更改 svg 填充颜色 onScroll
- javascript - 在Javascript中获取字符串中的模式之间的单词
- jquery - 将 UL 设置为移动设备上的下拉菜单和桌面上的全宽
- docker - 连接容器的docker覆盖网络问题
- html - 在子 div 中使用背景时如何让整个 TD 可点击
- java - 未解决的参考:字体 findFromCache
- bash - 仅使用 sed/BASH 将扩展的 IPv6 转换为 PTR 的反向半字节 arpa
- excel - 使用 VBA 在工作簿之间循环和粘贴
- azure - 替换 Docker 映像中的数据库连接字符串