我想在下载之前测试一个网址是否存在 我通常这样做
agent=Mechanize.New
page=agent.get("www.some_url.com/atributes")
但我想在下载页面之前测试该页面是否归属于该网址
最佳答案
查看页面是否存在(以及您可以通过互联网访问该页面)的唯一方法是执行实际请求。您可以首先执行 HTTP HEAD 请求,该请求仅请求 header ,而不请求实际内容:
url = "www.some_url.com/atributes"
agent = Mechanize.New
begin
agent.head(url)
page_exists = true
rescue SocketError
page_exists = false
end
if page_exists
page = agent.get(url)
# do something with page ...
end
但是话又说回来,您可以直接使用 GET 请求摆脱额外的请求并避免错误:
url = "www.some_url.com/atributes"
agent = Mechanize.New
begin
page = agent.get(url)
# do something with page ...
rescue SocketError
puts "There is no such page."
end
关于ruby - 使用 mechanize 测试页面是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25075419/