Я хочу заменить нечеткое слово, которое было написано в URL, взятом из консоли, на содержимое текстового файла, содержащее по одной строке в строке.После замены этого нечеткого слова содержимым файла, нужно запустить запрос http с этим замененным файлом содержимого и сохранить ответы с измененными запросами в новом файле.
Я написал так, но получаю сообщение об ошибке:
fuzz1.rb:16: private method `gsub' called for #<URI::HTTP:0x2969040> (NoMethodError)
Код здесь:
require 'net/http'
puts "Enter Target:\n"
target = URI(gets())
new_reference = target
a1 = target.clone
Net::HTTP.start(target.host, target.port) do |http|
request = Net::HTTP::Get.new target.request_uri
response = http.request request
puts response.body
end
puts "File contents:\n"
f= File.open("fuzz.txt","r")
while line = f.gets do
puts "Attack value: #{line}"
b = a1.gsub('fuzz','#{line}')
c = b
Net::HTTP.start(c.host, c.port) do |http|
request = Net::HTTP::Get.new c.request_uri
response = http.request request
puts response.body
end
end
Понятия не имею, почему возникает эта ошибка gsub, а не замена нечеткого слова, найденного в URL, на содержимое строки файла.