2017-10-18 5 views
0

의 내 파일 이름은 가정하자 test.rbRuby argv를 사용하여 명령 줄에서 url을 전달하는 방법은 무엇입니까?

나는, 명령 행에서 같은 것을 URL을 전달하는 내 코드에서 두 번째 매개 변수에 액세스 할 첫 번째 매개 변수 및 argv[1]에 액세스 할 수 argv[0]를 사용하고 싶습니다 :

ruby test.rb http://www.www.youtypeitwepostit.com /messages 

test.rb 파일이 포함되어

require 'net/http' 
uri = URI.parse('http://www.youtypeitwepostit.com') 
http=Net::HTTP.new(uri.host,uri.port) 
request = Net::HTTP::Get.new("/") 
reply=http.request(request) 
puts "#{reply.code} #{reply.message}" 
reply.header.each_header {|key,value| puts "#{key} 
= #{value}" } 
puts "#{reply.body}" 

PLE ase이 방법을 가르쳐.

감사

이 명령 줄로
+0

전체적으로 URL을 전달하는 것이 더 바람직하지 않습니까? – Stefan

+0

이것은 우리에게 도움이되는 정확한 오류 설명이 아닙니다. * 무엇이 작동하지 않습니까? * 어떻게 * 작동하지 않습니까? 코드에 어떤 문제가 있습니까? 오류 메시지가 나타 납니까? 오류 메시지 란 무엇입니까? 그 결과로 당신이 기대하는 결과를 얻지 못하고 있습니까? 어떤 결과가 기대되며, 왜, 결과는 무엇이며 어떻게 다른가? 관찰하고있는 행동이 원하는 행동이 아닌가? 원하는 행동은 무엇이며 왜, 관찰 된 행동은 무엇이며, 어떤면에서 어떻게 다른가? –

+0

규칙, 코너 케이스, 특수 케이스, 경계 케이스 및 엣지 케이스의 예외를 포함하여 모든 규칙을 포함하여 원하는 결과를 정확하게 제공 할 수 있습니까? 정상적인 경우와 예외적 인 경우, 코너 케이스, 특수 케이스, 경계 케이스 및 엣지 케이스 모두에서 발생할 것으로 예상되는 것을 보여주는 샘플 입력 및 출력을 제공 할 수 있습니까? –

답변

0
require 'net/http' 
uri = URI.parse(ARGV[0]) 
http=Net::HTTP.new(uri.host,uri.port) 
request = Net::HTTP::Get.new(ARGV[1]) 
reply=http.request(request) 
puts "#{reply.code} #{reply.message}" 
reply.header.each_header {|key,value| puts "#{key} 
= #{value}" } 
puts "#{reply.body}" 

그리고 단지로 전화 :

루비 test.rb http://www.youtypeitwepostit.com/메시지

+0

도움 주셔서 감사합니다. –

0

는 url은 첫번째 매개 변수입니다.

당신은 액세스하여 사용할 수 있습니다 ARGV [0], 예를 들어

uri = URI.parse(ARG[0]) 
관련 문제