require 'net/http' require 'uri' module Correios module CEP class WebService URL = "http://200.252.60.209/SigepCliente/AtendeClienteService" def initialize @uri = URI.parse(URL) end def request!(zipcode) http = build_http request = build_request zipcode Correios::CEP.log_request request, @uri.to_s response = http.request request Correios::CEP.log_response response response.body end private def build_http http = Net::HTTP.new(@uri.host, @uri.port) http.open_timeout = Correios::CEP.request_timeout http end def build_request(zipcode) request = Net::HTTP::Post.new(@uri.path) request["Content-Type"] = "text/xml; charset=utf-8" request.body = request_body zipcode request end def request_body(zipcode) "" + "" + "" + "" + "" + "#{zipcode}" + "" + "" + "" end end end end