이 코드는 URL을 스크립트에 직접 제공 할 때 잘 작동합니다.사용자 입력을 통해 URL을 가져 오려고하면 Ruby open-uri가 잘못된 uri 오류를 발생시킵니다. 왜?
require 'nokogiri'
require 'open-uri'
get_url = "http://google.com"
doc = Nokogiri::HTML(open(get_url))
puts doc
나는 사용자 입력에 "http://google.com"를 입력 시도했지만이 작동하지 않고 나쁜 URI 오류가 발생하고
해당 파일 또는 디렉토리 @의 rb_sysopen
require 'nokogiri'
require 'open-uri'
get_url = gets
doc = Nokogiri::HTML(open(get_url))
puts doc
을 말한다
아무도 내가 뭘 잘못하고 있다고 말할 수 있습니까? 나는 Google에서 똑바로 대답을 찾고 있지만 시도합니다.
을 작동해야하지만 나는 그것이 가능성이 XSS 공격을 방지하기 위해 발생 생각합니다. 사용자 입력으로부터 URL을 얻는 것은 매우 위험합니다.이 방법을 살필하는 방법을 살펴볼 수는 있지만, 당신이하는 일은 나에게 매우 위험한 것처럼 보입니다. – SRack
Regex를 사용하여 열려 있는지 확인해야합니까 (get_url)? – Meimo
'gets.chomp'를 사용해야하기 때문입니까? 현재 코드 샘플에는 후행 줄 바꿈이 있습니다. –