captcha_solver 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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