レスポンスボディを持つHTTPリクエストレスポンスヘッダを持つテキストファイルを生成しました。 Access-Control-Allow-Origin: *
をヘッダーとして含む応答ヘッダーを探して、このファイル内を検索したいとします。私は、このテキストファイルを検索し、使用してリクエスト・レスポンスヘッダの上にカスタムメッセージを印刷することができますどのようにRubyを使ってテキストファイル内の完全に一致する文字列を検索する方法は?
-> "Access-Control-Allow-Origin: *\r\n"
を:
ファイルが->
で始まり、このような"
で終わる行の形でこれを含んでいますif
状態?
複雑な正規表現が必要ですか?
私のコードでは、私は正しい検索を取得することはできません。
require 'net/http'
require 'uri'
require 'IPAddr'
require 'timeout'
puts "Origin IP:\n\n"
originip = gets()
puts "Start IP:\n\n"
startip = gets()
puts "End IP:\n\n"
endip = gets()
(IPAddr.new("#{startip}")..IPAddr.new("#{endip}")).each do |address|
begin
uri = URI("http://#{address.to_s}")
http = Net::HTTP.new(uri.host, uri.port)
http.set_debug_output($stdout)
request = Net::HTTP::Get.new(uri.request_uri)
request.initialize_http_header({"Origin" => "#{originip}"})
response = http.request request
$stdout.reopen('Access-Control-Allow-Origin.txt','a')
f = File.Open('Access-Control-Allow-Origin.txt')
line = f.read
if line = /Access-Control-Allow-Origin: */ then
puts "\n\nAccess-Control-Allow-Origin: * Header Found:\n\n"
else
puts "\n\nAccess-Control-Allow-Origin: * Header Not Found:\n\n"
end
rescue Timeout::Error => exc
puts "ERROR: #{exc.message}"
rescue Errno::ETIMEDOUT => exc
puts "ERROR: #{exc.message}"
rescue Exception => exc
puts "ERROR: #{exc.message}"
end
end
複雑な正規表現が必要なのはなぜですか? –