captcha_solver 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e0ed3564d211ceb7a85f8c30d69e260cc2e894e244fbb43632b4dec636f76a5b
4
- data.tar.gz: c010d83f964d6bf5ffd3af41d8d7e5bef9d7da0096d8562f8f463bbc2f98e25f
3
+ metadata.gz: 1b3f328452ef3fc2ff920e8f87336ea979152e7f33a243887e25e45f88e3cbb4
4
+ data.tar.gz: 851f4d47bf4bb394c8651d5711b15828b15be85abc422e6fe3bb4eb637aaa43e
5
5
  SHA512:
6
- metadata.gz: ed9ce33144a282c63f7bd6b4f195d13aac583454774d2c3fe6b45eb647c81f181876f17ec4c9cc75a8c29a7d31983cde4eb78f42781b9ade01af05f3e9a82432
7
- data.tar.gz: 5969a50b29d16ebd0e1fe32d033200c53549840aec35db05ab85fb842b68c336af35395845acf8a44445ab9a3c4ce50a51b7ae32c5bc601d5d27e66e35ac0e1f
6
+ metadata.gz: 91ff9c119d6a048bdcab810e414c4a55e77b4bf02a25ca6d0909777c7765e13914339c98030dc8b4b1c4526d9a2392d68e90b4b6fd653b31840af72a77f7eb84
7
+ data.tar.gz: 686cd8c8c7e39b6baa71aea17b81fa1c5654147fb0ce2be8418d17c623bd99e2d187d9427410b29a0a62faaaa6d4f5104308bf2b47f16461332aeebd764faf11
@@ -11,7 +11,7 @@ module CaptchaSolver
11
11
  attr_reader :rucaptcha_api_key, :proxy_address,
12
12
  :start_response, :complete_response
13
13
 
14
- def initialize(args)
14
+ def initialize(args = {})
15
15
  @rucaptcha_api_key = ENV['rucaptcha_api_key']
16
16
  @proxy_address = args[:proxy_address]
17
17
  end
@@ -66,15 +66,15 @@ module CaptchaSolver
66
66
 
67
67
  # Parses response from in.php request and returns rucaptcha id
68
68
  def rucaptcha_id
69
- return nil if start_response.blank?
69
+ return nil if start_response.nil?
70
70
  JSON.parse(start_response.body)['request']
71
71
  end
72
72
 
73
73
  # Checks if a in.php request is successful
74
74
  def started?
75
- return false if start_response.blank?
75
+ return false if start_response.nil?
76
76
  return false if errors_regexp.match?(start_response.body)
77
- rucaptcha_id.present?
77
+ !rucaptcha_id.nil?
78
78
  end
79
79
 
80
80
  # Makes a res.php request. Response must be returned as JSON
@@ -90,15 +90,15 @@ module CaptchaSolver
90
90
 
91
91
  # Checks if captcha solving is failed
92
92
  def failed?
93
- return false if complete_response.blank?
93
+ return false if complete_response.nil?
94
94
  errors_regexp.match? complete_response.body
95
95
  end
96
96
 
97
97
  # Checks if captcha is solved
98
98
  def solved?
99
- return false if complete_response.blank?
99
+ return false if complete_response.nil?
100
100
  return false if failed?
101
- !not_ready_regexp.match?(complete_response.body) && captcha_value.present?
101
+ !not_ready_regexp.match?(complete_response.body) && !captcha_value.nil?
102
102
  end
103
103
 
104
104
  # Parses response from res.php request and returns captcha value
@@ -0,0 +1,40 @@
1
+ module CaptchaSolver
2
+ class RecaptchaV2 < Base
3
+ attr_reader :google_key, :page_url
4
+
5
+ def initialize(args)
6
+ super
7
+ @google_key = args[:google_key]
8
+ @page_url = args[:page_url]
9
+ end
10
+
11
+ private
12
+
13
+ def make_start_request
14
+ RestClient::Request.execute(
15
+ method: :post,
16
+ url: 'http://rucaptcha.com/in.php',
17
+ proxy: "http://#{proxy_address}",
18
+ headers: default_request_headers,
19
+ payload: default_request_params.merge(
20
+ method: 'userrecaptcha',
21
+ googlekey: google_key,
22
+ pageurl: page_url
23
+ )
24
+ )
25
+ end
26
+
27
+ def make_complete_request
28
+ RestClient::Request.execute(
29
+ method: :post,
30
+ url: 'http://rucaptcha.com/res.php',
31
+ proxy: "http://#{proxy_address}",
32
+ headers: default_request_headers,
33
+ payload: default_request_params.merge(
34
+ id: rucaptcha_id,
35
+ action: 'get'
36
+ )
37
+ )
38
+ end
39
+ end
40
+ end
@@ -1,4 +1,7 @@
1
+ require 'rest-client'
2
+
1
3
  require 'captcha_solver/base'
4
+ require 'captcha_solver/recaptcha_v2'
2
5
 
3
6
  module CaptchaSolver
4
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: captcha_solver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Randi Korhonen
@@ -9,7 +9,21 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
  date: 2018-05-03 00:00:00.000000000 Z
12
- dependencies: []
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 2.0.2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 2.0.2
13
27
  description: Gem that uses RuCaptcha API to solver any type of captcha
14
28
  email: randikorhonen@gmail.com
15
29
  executables: []
@@ -18,6 +32,7 @@ extra_rdoc_files: []
18
32
  files:
19
33
  - lib/captcha_solver.rb
20
34
  - lib/captcha_solver/base.rb
35
+ - lib/captcha_solver/recaptcha_v2.rb
21
36
  homepage: https://rubygems.org/gems/captcha_solver
22
37
  licenses:
23
38
  - MIT