tweakphoeus 0.2.4 → 0.2.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +1 -0
- data/lib/tweakphoeus/version.rb +1 -1
- data/lib/tweakphoeus.rb +22 -20
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0d00e51c1f23ccb8e4a7b63c95eeda5d0856351
|
4
|
+
data.tar.gz: 94851c8ea6f3cc3cb05c8063a94aef03175c9104
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fc5ab5a5d781d861fcef932054258a73d956fe81b457e577a96ffef678c12742657ccc76611a75fe081da12114b3093cdd55c262e086359a6e090a88bb1bc047
|
7
|
+
data.tar.gz: f31f18ebe3129cd53b0f9b6ab099da3b3d2c0a7aec0e91a335571729705ddd98f53dd1ca844ab794d5f13e0a26de47a9eb3748e90d51aab84a7583b44c5b1f7e
|
data/CHANGELOG.md
CHANGED
data/lib/tweakphoeus/version.rb
CHANGED
data/lib/tweakphoeus.rb
CHANGED
@@ -59,11 +59,28 @@ module Tweakphoeus
|
|
59
59
|
@referer.last
|
60
60
|
end
|
61
61
|
|
62
|
+
def cookie_string(url, headers={})
|
63
|
+
domain = get_domain(url)
|
64
|
+
headers ||= {}
|
65
|
+
cookies = parse_cookie(headers["Cookie"])
|
66
|
+
|
67
|
+
while domain.present?
|
68
|
+
if @cookie_jar[domain]
|
69
|
+
@cookie_jar[domain].each do |key, value|
|
70
|
+
cookies[key] ||= value
|
71
|
+
end
|
72
|
+
end
|
73
|
+
domain = domain.gsub(/^([^\.]+\.?)/, '')
|
74
|
+
end
|
75
|
+
|
76
|
+
cookies.map{ |key, value| "#{key}=#{value}" }.join('; ')
|
77
|
+
end
|
78
|
+
|
62
79
|
private
|
63
80
|
|
64
81
|
def http_request(url, body: nil, params: nil, headers: nil, redirect: false, method: method)
|
65
82
|
request_headers = merge_default_headers(headers)
|
66
|
-
request_headers["Cookie"] =
|
83
|
+
request_headers["Cookie"] = cookie_string(url, headers)
|
67
84
|
request_headers["Referer"] = get_referer
|
68
85
|
response = Typhoeus.send(method, url, body: body, params: params, headers: request_headers)
|
69
86
|
obtain_cookies(response)
|
@@ -114,27 +131,12 @@ module Tweakphoeus
|
|
114
131
|
end
|
115
132
|
end
|
116
133
|
|
117
|
-
def
|
118
|
-
domain = get_domain(url)
|
119
|
-
headers ||= {}
|
120
|
-
cookies = parse_cookie(headers["Cookie"])
|
121
|
-
|
122
|
-
while domain.split(".").count > 1
|
123
|
-
if @cookie_jar[domain]
|
124
|
-
cookies = @cookie_jar[domain].merge(cookies)
|
125
|
-
end
|
126
|
-
domain = domain.split(".")[1..-1].join(".")
|
127
|
-
end
|
128
|
-
|
129
|
-
cookies.map{|k,v| "#{k}=#{v}"}.join('; ')
|
130
|
-
end
|
131
|
-
|
132
|
-
def parse_cookie cookie_string
|
134
|
+
def parse_cookie(string)
|
133
135
|
cookies = {}
|
134
136
|
|
135
|
-
if
|
136
|
-
|
137
|
-
key, value =
|
137
|
+
if string.is_a?(String)
|
138
|
+
string.split(';').each do |part|
|
139
|
+
key, value = part.split('=')
|
138
140
|
key.strip!
|
139
141
|
cookies[key.strip] = value if value && !["Domain","Path","domain","path"].include?(key)
|
140
142
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tweakphoeus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Martin Garcia
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
122
|
rubyforge_project:
|
123
|
-
rubygems_version: 2.
|
123
|
+
rubygems_version: 2.6.8
|
124
124
|
signing_key:
|
125
125
|
specification_version: 4
|
126
126
|
summary: Typhoeus on steroids.
|