Я пытаюсь открыть MrPorter.com с помощью nokogiri
Nokogiri::HTML(open("https://www.mrporter.com"))
И получаю следующую ошибку:
Net::ReadTimeout: Net::ReadTimeout with #<TCPSocket:(closed)>
from /Users/8bithero/.rbenv/versions/2.6.5/lib/ruby/2.6.0/net/protocol.rb:217:in `rbuf_fill'
Это работало ранее, но с тех пор они добавили etags что я не уверен, может ли это быть виновником.
Есть ли способ обойти это? Можно ли открыть эту страницу (или аналогичную) с помощью Nokogiri? Может быть, мне не хватает некоторых обязательных параметров?
Есть вызов API, который вы можете сделать с помощью почтальона (и добавив content-type: application/json
)
https://www.mrporter.com/api/inseason/search/resources/store/mrp_gb/productview/666467151985458?locale=en_GB
Но если вы нажмете это напрямую это не сработает, если вы впервые не посетите страницу продукта: https://www.mrporter.com/en-gb/mens/product/red-wing-shoes/shoes/lace-up-boots/8138-moc-leather-boots/666467151985458
Похоже, что etags устанавливается со временем истечения около 5 минут, это было то, что заставило меня подумать, что это может быть виноваты etags.
У кого-нибудь есть идеи, как получить доступ к любому из них?