У меня есть программа, которую я использую для целей тестирования, что я делаю, это очистка веб-страниц для открытых прокси-серверов и запись их в журнал, однако это очень разные тип прокси-скребок, так как он создает кучу случайных прокси перед внутри файла перед выполнением, например:Ошибка при открытии uri => (URI :: InvalidURIError)
def create_possibles
puts "Creating random possible proxies..".green.bold
1.times do
port = rand(2000..8080)
1.times do
ip = Array.new(4){rand(256)}.join('.')
possible_proxy = "#{ip}:#{port}"
File.open("possible_proxies.txt", "a") {|s| s.puts(possible_proxy)}
end
end
end
#<= 189.96.49.87:7990
то, что я хочу делать с этим «возможным прокси» открыто и посмотреть, если он работает, однако, когда я использую следующий код, он просто бросает эту ошибку:
def check_possibles
IO.read("possible_proxies.txt").each_line do |proxy|
puts open('http://google.com', :proxy => "http://#{proxy}")
end
end
У меня есть два вопроса:
- Означает ли это, что прокси-сервер недействителен, и если есть способ пропустить строку в файле? Возможно, используя
next
илиskip
? - Если это не означает, что прокси недействителен, то что это значит, я делаю что-то неправильно в своем коде, где он неправильно считывает URL-адрес?
Полная ошибка:
C:/Ruby22/lib/ruby/2.2.0/uri/rfc3986_parser.rb:66:in `split': bad URI(is not URI
?): http://189.96.49.87:7990 (URI::InvalidURIError)
EDIT:
мне сказали, чтобы попытаться URI.parse
и я получаю ту же ошибку:
C:/Ruby22/lib/ruby/2.2.0/uri/rfc3986_parser.rb:66:in `split': bad URI(is not URI
?): http://195.239.61.210:4365 (URI::InvalidURIError) #<= Different IP
Я полностью сбит с толку, 'http: //189.96.49.87: 7990' является совершенно допустимым URI. Что происходит, когда вы пытаетесь использовать URI.parse ("http: // # {proxy}") '? – Shelvacu
@shelvacu Я не знаю, дайте мне узнать действительно быстро – 13aal
@shelvacu Я попробовал его с другим IP C: /Ruby22/lib/ruby/2.2.0/uri/rfc3986_parser.rb: 66: в разделе «split»: плохой URI (не URI ?): http://195.239.61.210:4365 (URI :: InvalidURIError) – 13aal