4

我难住了!

我有一个 rake 任务,它每分钟运行一次。

登录后,它会找到我感兴趣的 JSON,但在 rake 任务中注意到 JSON 中的任何更改之前,它最多可以运行 30 次任务。在此期间,我错过了某些 JSON 对象的一些更改。

似乎有一些缓存正在进行,我试图关闭机械化缓存,如图所示,只是不确定我现在还能尝试什么。

任何指针?

提前致谢。

  agent = Mechanize.new # {|a| a.log = Logger.new(STDERR) }
  agent.history.clear
  agent.max_history = 0
  agent.user_agent_alias = 'Mac Safari'
  page = agent.get 'http://website.com'
  form = page.forms.first
  form.email = 'me@home.com'
  form.password = 'mypassword'

  page = agent.submit form
  page = agent.get 'http://website.com/password_protected_page'
  jsonDirty = page.search '//script[@type="application/json"]'

来自服务器的响应:

{"server"=>"nginx", "date"=>"Thu, 13 Sep 2012 14:16:43 GMT", "content-type"=>"text/html; charset=utf-8", "connection"=>"close", "vary"=>"Cookie", "content-language"=>"plfplen", "set-cookie"=>"csrftoken=pVDg2SJ4KHqONz2OiEkNK7IbKlnJSQQf; expires=Thu, 12-Sep-2013 14:16:43 GMT; Max-Age=31449600; Path=/, affiliate=; expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/, one-click-join=; expires=Thu,01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/", "expires"=>"Thu, 01 Jan 1970 00:00:01 GMT", "cache-control"=>"no-cache", "content-encoding"=>"gzip", "transfer-encoding"=>"chunked"}
4

1 回答 1

1

您可以尝试将随机查询参数附加到 URL。如:

page = agent.get "http://website.com/password_protected_page?random=#{Time.now.to_i}"
于 2012-09-11T12:46:46.110 回答