tiny_grabber 0.2.2 → 0.2.3

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
  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