add user agent
parent
e0aa2d9576
commit
7d4b206dc1
|
@ -6,9 +6,14 @@ require "./mechanize/errors/*"
|
|||
|
||||
class Mechanize
|
||||
VERSION = "0.1.0"
|
||||
|
||||
AGENT = {
|
||||
"Mechanize" => "Mechanize/#{VERSION} Crystal/#{Crystal::VERSION} (https://github.com/Kanezoh/mechanize.cr)",
|
||||
}
|
||||
def initialize()
|
||||
@agent = MechanizeCr::HTTP::Agent.new
|
||||
@agent.context = self
|
||||
@agent.user_agent = AGENT["Mechanize"]
|
||||
end
|
||||
|
||||
def get(uri : String | URI, headers = HTTP::Headers.new, params : Hash(String, String | Array(String)) = Hash(String,String).new)
|
||||
|
|
|
@ -6,16 +6,20 @@ module MechanizeCr
|
|||
class Agent
|
||||
property :request_headers, :context, :cookies
|
||||
property history : Array(Page)
|
||||
property user_agent : String
|
||||
|
||||
def initialize(@context : Mechanize | Nil = nil)
|
||||
@history = Array(Page).new
|
||||
@request_headers = ::HTTP::Headers.new
|
||||
@context = context
|
||||
@cookies = Hash(String, ::HTTP::Cookies).new
|
||||
@user_agent = ""
|
||||
end
|
||||
|
||||
def fetch(uri, method = :get, headers = HTTP::Headers.new, params = Hash(String,String).new)
|
||||
uri = resolve(uri)
|
||||
set_request_headers(uri, headers)
|
||||
request_user_agent
|
||||
uri, params = resolve_parameters(uri, method, params)
|
||||
response = http_request(uri, method, params)
|
||||
body = response.not_nil!.body
|
||||
|
@ -119,6 +123,12 @@ module MechanizeCr
|
|||
cookies[host] << cookie
|
||||
end
|
||||
end
|
||||
|
||||
private def request_user_agent
|
||||
unless user_agent == ""
|
||||
request_headers["User-Agent"] = user_agent
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue