tiny_grabber 0.2.2 → 0.2.3

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
  SHA1:
3
- metadata.gz: b4782960145d5f33281aacf96f4c4773f702d75d
4
- data.tar.gz: 86fd979f097604e8383d98a03fd0157c150de4d3
3
+ metadata.gz: 01ead8ec986585c6df273a78246e8097d340eac4
4
+ data.tar.gz: 55293af4fa2233e1a38dbeedad00dd53047e6c85
5
5
  SHA512:
6
- metadata.gz: 425e372d1753b7becf320681f385369af9fdb27002831c5371049a01c1100b9009e6f41904e31dbf447d34a57dd1b57ef9763bce371b42d397d82f1a47afd36e
7
- data.tar.gz: a91b5a6fd8fed450d467495f54dc54e86c339590eb512c94359d0b1d2d8d0905a83b022cdceede87999d54b3d278d297ee33fdd3e5911ee43ae0c75a756c0c31
6
+ metadata.gz: c38612a2e091c01d1eb0ea7f821ad32edbbb1dad41f73764b4998a546bf164029522a29492321288537381693b3b5bfdee88dde4703f23d3dca7090be7d0d836
7
+ data.tar.gz: 493d4486aac4ef7fa111cbcc96df48165f19b6e3b053b6deabb651224a0ba420894690ea77e76277a35a367153775b710d05fefd6b930480358f750b5e3c19f6
data/README.md CHANGED
@@ -27,78 +27,107 @@ Or install it yourself as:
27
27
 
28
28
  require 'tiny_grabber'
29
29
 
30
+
31
+ # Initialize request setting
32
+
33
+ # Set request timelive
30
34
  read_timeout = 300
35
+ # You can set own UserAgent, but by default each request get random UserAgent from list of most popular
31
36
  user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36'
37
+ # Set proxy for concealment your real IP
32
38
  proxy = { ip: 'xx.xx.xx.xx', port: 'xxxx' }
33
- headers1 = { 'Content-Type' => 'text/html; charset=utf-8' }
34
- headers2 = { 'Content-Type' => 'text/html; charset=utf-8', 'Connection' => 'keep-alive' }
39
+ # Set Net::HTTP headers
40
+ headers = { 'Content-Type' => 'text/html; charset=utf-8' }
41
+ # You can set own cookies like String
35
42
  cookies = 'username=username&password=password'
43
+ # or Hash
44
+ cookies = { username: 'username', password: 'password' }
45
+ # For POST request you can set DATAS
36
46
  params = { key: 'value' }
37
47
 
38
48
  # Initialize TinyGrabber object
39
49
  tg = TinyGrabber.new
50
+
40
51
  # Set debug flag for view log information
41
52
  tg.debug = true
53
+
42
54
  # Or set debug configuration
43
55
  # active - flag to save log information
44
56
  # destination - save log to file or print: [:file, :print]
45
57
  # save_html - flag to save response html to file
46
58
  tg.debug = { active: true, destination: :file, save_html: true }
59
+
47
60
  # Set max time to execute request
48
61
  tg.read_timeout = read_timeout
62
+
49
63
  # Set web browser name
50
64
  tg.user_agent = user_agent
65
+
51
66
  # Set proxy configuration
52
67
  tg.proxy = proxy
68
+
53
69
  # Set basic authentification
54
70
  tg.basic_auth('username', 'password')
71
+
55
72
  # Set HTTP headers
56
- tg.headers = headers1
73
+ tg.headers = headers
74
+
57
75
  # Set HTTP cookies
58
76
  tg.cookies = cookies
59
77
 
78
+
79
+ # Make request
80
+
60
81
  # Make response with GET method
61
82
  response = tg.get 'https://whoer.net/ru', headers
83
+
62
84
  # Reset headers and cookies
63
85
  tg.reset
86
+
64
87
  # Make response with POST method
65
88
  response = tg.post 'https://whoer.net/ru', params, headers
66
89
 
67
-
68
90
  # Make singleton response with GET method
69
91
  response = TinyGrabber.get 'https://whoer.net/ru', { debug = true, read_timeout = read_timeout ... }
92
+
70
93
  # Make singleton response with POST method
71
94
  response = TinyGrabber.post 'https://whoer.net/ru', params, { debug = true, read_timeout = read_timeout ... }
72
95
 
96
+
97
+ # Get response
98
+
73
99
  # Get Nokogiri object from response HTML
74
100
  ng = response.ng
101
+
75
102
  # Get HTTP response code
76
103
  response.code
104
+
77
105
  # Get response cookies
78
106
  response.cookies
107
+
79
108
  # Get response headers
80
109
  response.headers
110
+
81
111
  # Get response HTML
82
112
  response.body
83
113
  ```
84
114
 
85
115
  ## Changelog
86
116
 
117
+ * *v 0.2.3*
118
+ * The feature to set cookies in the form of a Hash is added
87
119
  * *v 0.2.2*
88
120
  * Added debug configurations.
89
-
90
121
  * *v 0.2.1*
91
122
  * Setting random user_agent from list if it not seted
92
123
  * Remove headers attribute from singleton methods
93
124
  * Remove header transfer-encoding for chain requests
94
125
  * Add reset method for delete headers and cookies
95
-
96
126
  * *v 0.2.0*
97
127
  * Now there is an opportunity to create object TinyGrabber
98
128
  * Change order of parameters for singleton request
99
129
  * Add response cookies and headers
100
130
  * Add debug flag for detilazition log and save result HTML to /log/*.html file
101
-
102
131
  * *v 0.1.1*
103
132
  * Save cookie in Redis
104
133
  * *v 0.1.0*
@@ -138,6 +138,7 @@ class TinyGrabber::Agent
138
138
  # @param cookies Request cookies
139
139
  #
140
140
  def cookies= cookies
141
+ cookies = cookies.to_a.map { |x| "#{x[0]}=#{x[1]}" }.join('&') if cookies.is_a?(Hash)
141
142
  fail 'attribute cookies must be String' unless cookies.is_a?(String)
142
143
  @cookies = cookies
143
144
  end
@@ -1,4 +1,4 @@
1
1
  class TinyGrabber
2
2
  # Version number
3
- VERSION = "0.2.2"
3
+ VERSION = '0.2.3'
4
4
  end
data/lib/tiny_grabber.rb CHANGED
@@ -6,7 +6,6 @@ require 'uri'
6
6
  require 'net/http'
7
7
  require 'socksify/http'
8
8
  require 'tiny_grabber/http'
9
- require 'redis'
10
9
 
11
10
  # Main class for TinyGrabber
12
11
  #
data/tiny_grabber.gemspec CHANGED
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
22
22
 
23
23
  spec.add_runtime_dependency 'socksify', '~> 1.7'
24
24
  spec.add_runtime_dependency 'nokogiri', '~> 1.6'
25
- spec.add_runtime_dependency 'redis', '~> 3.3'
26
25
 
27
26
  spec.add_development_dependency 'rake', '~> 10.0'
28
27
  spec.add_development_dependency 'bundler', '~> 1.11'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tiny_grabber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aleksandr Chernyshev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-14 00:00:00.000000000 Z
11
+ date: 2016-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: socksify
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.6'
41
- - !ruby/object:Gem::Dependency
42
- name: redis
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: '3.3'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: '3.3'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rake
57
43
  requirement: !ruby/object:Gem::Requirement