From c786e8dd1525784b9dec6e0cff6f7eca32b12c68 Mon Sep 17 00:00:00 2001 From: Molfar Date: Tue, 9 Jul 2013 21:42:20 +0300 Subject: [PATCH 1/2] Save http response object --- lib/antigate.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/antigate.rb b/lib/antigate.rb index 52220c2..5e09441 100644 --- a/lib/antigate.rb +++ b/lib/antigate.rb @@ -16,6 +16,7 @@ def self.balance(key) class Wrapper attr_accessor :phrase, :regsense, :numeric, :calc, :min_len, :max_len, :domain + attr_reader :http_response def initialize(key) @key = key @@ -66,8 +67,8 @@ def add(url, ext) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = (uri.port == 443) request = Net::HTTP::Get.new(uri.request_uri) - response = http.request(request) - captcha = response.body + @http_response = http.request(request) + captcha = @http_response.body if captcha params = { 'method' => 'base64', From e85bee72b1c06e23ab6cd656dcdff113cf7fe621 Mon Sep 17 00:00:00 2001 From: Molfar Date: Thu, 1 May 2014 22:24:51 +0300 Subject: [PATCH 2/2] Allow recognize method to accept resource instead url --- lib/antigate.rb | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/lib/antigate.rb b/lib/antigate.rb index 5e09441..08ecb49 100644 --- a/lib/antigate.rb +++ b/lib/antigate.rb @@ -30,10 +30,10 @@ def initialize(key) @domain = "antigate.com" end - def recognize(url, ext) + def recognize(resource, ext) added = nil loop do - added = add(url, ext) + added = add(resource, ext) next if added.nil? if added.include? 'ERROR_NO_SLOT_AVAILABLE' sleep(1) @@ -62,13 +62,17 @@ def recognize(url, ext) end end - def add(url, ext) - uri = URI.parse(url) - http = Net::HTTP.new(uri.host, uri.port) - http.use_ssl = (uri.port == 443) - request = Net::HTTP::Get.new(uri.request_uri) - @http_response = http.request(request) - captcha = @http_response.body + def add(resource, ext) + begin + uri = URI.parse(resource) + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = (uri.port == 443) + request = Net::HTTP::Get.new(uri.request_uri) + @http_response = http.request(request) + captcha = @http_response.body + rescue URI::InvalidURIError + captcha = resource + end if captcha params = { 'method' => 'base64',