在Mechanize中,如何确定post_connect_hook的响应类型

时间:2013-12-06 14:57:57

标签: ruby mechanize mechanize-ruby

我关注Jimm Stout的suggestion,指出没有设置内容类型的网站。

  agent = Mechanize.new do |a|
    a.post_connect_hooks << ->(_,_,response,_) do
      if response.content_type.empty?
        response.content_type = 'text/html'
      end
    end
  end

如果我获得40x或50x的重定向,我该如何避免设置Content-Type。

1 个答案:

答案 0 :(得分:0)

您可以确保响应类为Net::HTTPOK

agent = Mechanize.new do |a|
  a.post_connect_hooks << ->(_,_,response,_) do
    break unless response.class == Net::HTTPOK
    if response.content_type.empty?
      response.content_type = 'text/html'
    end
  end
end