Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

34 lignes
716 B

  1. #!/usr/bin/env ruby
  2. require 'faraday'
  3. require 'uri'
  4. allowed_codes = [200, 302, 403]
  5. args = ARGV
  6. filename = args[0]
  7. fail_flag = false
  8. contents = File.open(filename, 'rb') { |f| f.read }
  9. links = URI.extract(contents, ['http', 'https'])
  10. dup = links.select{|element| links.count(element) > 1 }
  11. if dup.uniq.length > 0
  12. dup.uniq.each do |link|
  13. if link.end_with?(')')
  14. puts link[0...-1]
  15. end
  16. end
  17. exit(1)
  18. end
  19. links.each do |link|
  20. if link.end_with?(')')
  21. link = link[0...-1]
  22. end
  23. res = Faraday.get(link)
  24. if !allowed_codes.include?(res.status)
  25. puts "(#{res.status}): #{link}"
  26. fail_flag = true
  27. end
  28. end
  29. if fail_flag
  30. exit(1)
  31. else
  32. exit(0)
  33. end