응답 본문이있는 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
왜 복잡한 정규식이 필요합니까? –