Class: Antigate::Wrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/antigate.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key) ⇒ Wrapper

Returns a new instance of Wrapper.



20
21
22
23
24
25
26
27
28
29
# File 'lib/antigate.rb', line 20

def initialize(key)
  @key = key

  @phrase = 0
  @regsense = 0
  @numeric = 0
  @calc = 0
  @min_len = 0
  @max_len = 0
end

Instance Attribute Details

#calcObject

Returns the value of attribute calc.



18
19
20
# File 'lib/antigate.rb', line 18

def calc
  @calc
end

#max_lenObject

Returns the value of attribute max_len.



18
19
20
# File 'lib/antigate.rb', line 18

def max_len
  @max_len
end

#min_lenObject

Returns the value of attribute min_len.



18
19
20
# File 'lib/antigate.rb', line 18

def min_len
  @min_len
end

#numericObject

Returns the value of attribute numeric.



18
19
20
# File 'lib/antigate.rb', line 18

def numeric
  @numeric
end

#phraseObject

Returns the value of attribute phrase.



18
19
20
# File 'lib/antigate.rb', line 18

def phrase
  @phrase
end

#regsenseObject

Returns the value of attribute regsense.



18
19
20
# File 'lib/antigate.rb', line 18

def regsense
  @regsense
end

Instance Method Details

#add(url, ext) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/antigate.rb', line 63

def add(url, ext)
  captcha = Net::HTTP.get(URI(url)) rescue nil
  if captcha
    params = {
      'method' => 'base64',
      'key' => @key,
      'body' => Base64.encode64(captcha),
      'ext' => ext,
      'phrase' => @phrase,
      'regsense' => @regsense,
      'numeric' => @numeric,
      'calc' => @calc,
      'min_len' => @min_len,
      'max_len' => @max_len
    }
    return Net::HTTP.post_form(URI('http://antigate.com/in.php'), params).body rescue nil
  end
end

#bad(id) ⇒ Object



86
87
88
# File 'lib/antigate.rb', line 86

def bad(id)
  return Net::HTTP.get(URI("http://antigate.com/res.php?key=#{@key}&action=reportbad&id=#{id}")) rescue nil
end

#balanceObject



90
91
92
# File 'lib/antigate.rb', line 90

def balance
  return Net::HTTP.get(URI("http://antigate.com/res.php?key=#{@key}&action=getbalance")) rescue nil
end

#recognize(url, ext) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/antigate.rb', line 31

def recognize(url, ext)
  added = nil
  loop do
    added = add(url, ext)
     next if added.nil?
    if added.include? 'ERROR_NO_SLOT_AVAILABLE'
      sleep(1)
      next
    else
      break
    end
  end
  if added.include? 'OK'
    id = added.split('|')[1]
    sleep(10)
    status = nil
    loop do
      status = status(id)
       next if status.nil?
      if status.include? 'CAPCHA_NOT_READY'
        sleep(1)
        next
      else
        break
      end
    end
    return [id, status.split('|')[1]]
  else
    return added
  end
end

#status(id) ⇒ Object



82
83
84
# File 'lib/antigate.rb', line 82

def status(id)
  return Net::HTTP.get(URI("http://antigate.com/res.php?key=#{@key}&action=get&id=#{id}")) rescue nil
end