Class | Net::DNS::Question |
In: |
lib/net/dns/question.rb
|
Parent: | Object |
Net::DNS::Question - DNS packet question class
require 'net/dns/question'
This class represent the Question portion of a DNS packet. The number of question entries is stored in the qdCount variable of an Header object.
A new object can be created passing the name of the query and the type of answer desired, plus an optional argument containing the class:
question = Net::DNS::Question.new("google.com.", Net::DNS::A) #=> "google.com. A IN"
Alternatevly, a new object is created when processing a binary packet, as when an answer is received. To obtain the binary data from a question object you can use the method Question#data:
question.data #=> "\006google\003com\000\000\001\000\001"
A lot of methods were written to keep a compatibility layer with the Perl version of the library, as long as methods name which are more or less the same.
Return a new Net::DNS::Question object created by parsing binary data, such as an answer from the nameserver.
question = Net::DNS::Question.parse(data) puts "Queried for #{question.qName} type #{question.qType.to_s}" #=> Queried for example.com type A
Return the binary data of the objects, plus an offset and an Hash with references to compressed names. For use in Net::DNS::Packet compressed packet creation.
Returns a printable version of question with nice formatting.
q = Net::DNS::Question.new("google.com.", Net::DNS::A) q.inspect # => "google.com. IN A "
Returns a string representation of question. It is the same as inspect.
q = Net::DNS::Question.new("google.com.", Net::DNS::A) q.inspect # => "google.com. IN A "