我使用VCR宝石来记录http交互并重播.我想在uri请求中过滤掉我的实际密码值.以下是uri的样例:
http://services.somesite.com/Services.asmx/Cabins Username=long&Password=john&StartDate=03%2F22%2F2012&EndDate=03%2F29%2F2012
虽然这里提供了一个解释,但我仍然不知道如何做一些尝试后自己:
https://www.relishapp.com/myronmarston/vcr/v/2-0-0/docs/configuration/filter-sensitive-data
任何帮助将不胜感激.
解决方法
VCR.configure do |c| c.filter_sensitive_data("<SOMESITE_PASSWORD>") do ENV['SOMESITE_PASSWORD'] # or $credentials['somesite']['password'] or whatever end end
从本质上讲,您给VCR一些占位符文本,然后块需要返回真正的密码,从任何规范密码“存储库”读取它.
请注意,真实密码仅在首次记录请求时才需要;在后续运行中,它可以是一个假的密码(只要代码发出请求使用的伪密码是一样的).