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 +4 -4
- data/lib/captcha_solver/base.rb +7 -7
- data/lib/captcha_solver/recaptcha_v2.rb +40 -0
- data/lib/captcha_solver.rb +3 -0
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b3f328452ef3fc2ff920e8f87336ea979152e7f33a243887e25e45f88e3cbb4
|
4
|
+
data.tar.gz: 851f4d47bf4bb394c8651d5711b15828b15be85abc422e6fe3bb4eb637aaa43e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 91ff9c119d6a048bdcab810e414c4a55e77b4bf02a25ca6d0909777c7765e13914339c98030dc8b4b1c4526d9a2392d68e90b4b6fd653b31840af72a77f7eb84
|
7
|
+
data.tar.gz: 686cd8c8c7e39b6baa71aea17b81fa1c5654147fb0ce2be8418d17c623bd99e2d187d9427410b29a0a62faaaa6d4f5104308bf2b47f16461332aeebd764faf11
|
data/lib/captcha_solver/base.rb
CHANGED
@@ -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.
|
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.
|
75
|
+
return false if start_response.nil?
|
76
76
|
return false if errors_regexp.match?(start_response.body)
|
77
|
-
rucaptcha_id.
|
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.
|
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.
|
99
|
+
return false if complete_response.nil?
|
100
100
|
return false if failed?
|
101
|
-
!not_ready_regexp.match?(complete_response.body) && captcha_value.
|
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
|
data/lib/captcha_solver.rb
CHANGED
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
|
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
|