в настоящее время я пишу программу, которая должна проверять множество возможных URL-адресов в поисках тех, которые действительно существуют. Чтобы быть точным, я имею в виду существовать, так как вы можете посетить URL-адрес, и там есть какое-то фактическое содержимое ... не анализ строки, чтобы увидеть, в формате URL-адреса.
Программа генерирует список возможных вариантов для filename, а затем проверяет каждый из них, пока не получит действительный URL-адрес, поэтому большая часть URL-адреса остается прежней. Примеры:
https://www.test.com/folder1/FILE.png
https://www.test.com/folder1/File.png
https://www.test.com/folder1/file.png
https://www.test.com/folder1/file1.png
Тем не менее, мой код в настоящее время работает нормально ... однако в итоге на проверку URL-адреса требуется около 2-4 секунд, и я не знаю способа ускорить это. Есть ли более быстрый или лучший способ проверки URL-адресов, или мне просто не повезло?
Это моя функция для проверки URL-адресов:
require "net/http"
def url_exist? url_path
url = URI.parse(url_path)
req = Net::HTTP.new(url.host, url.port)
req.use_ssl = true
res = req.request_head(url.path)
if res.code == "200" || res.code == "403"
return true
end
end
Спасибо, что нашли время, чтобы прочитать это и любая помощь будет принята с благодарностью.