handle comic.pixiv.net being down gracefully
This commit is contained in:
@@ -13,16 +13,18 @@ class PixivWebAgent
|
|||||||
phpsessid = Cache.get(SESSION_CACHE_KEY)
|
phpsessid = Cache.get(SESSION_CACHE_KEY)
|
||||||
comicsessid = Cache.get(COMIC_SESSION_CACHE_KEY)
|
comicsessid = Cache.get(COMIC_SESSION_CACHE_KEY)
|
||||||
|
|
||||||
if phpsessid && comicsessid
|
if phpsessid
|
||||||
cookie = Mechanize::Cookie.new(SESSION_COOKIE_KEY, phpsessid)
|
cookie = Mechanize::Cookie.new(SESSION_COOKIE_KEY, phpsessid)
|
||||||
cookie.domain = ".pixiv.net"
|
cookie.domain = ".pixiv.net"
|
||||||
cookie.path = "/"
|
cookie.path = "/"
|
||||||
mech.cookie_jar.add(cookie)
|
mech.cookie_jar.add(cookie)
|
||||||
|
|
||||||
cookie = Mechanize::Cookie.new(COMIC_SESSION_COOKIE_KEY, comicsessid)
|
if comicsessid
|
||||||
cookie.domain = ".pixiv.net"
|
cookie = Mechanize::Cookie.new(COMIC_SESSION_COOKIE_KEY, comicsessid)
|
||||||
cookie.path = "/"
|
cookie.domain = ".pixiv.net"
|
||||||
mech.cookie_jar.add(cookie)
|
cookie.path = "/"
|
||||||
|
mech.cookie_jar.add(cookie)
|
||||||
|
end
|
||||||
else
|
else
|
||||||
headers = {
|
headers = {
|
||||||
"Origin" => "https://accounts.pixiv.net",
|
"Origin" => "https://accounts.pixiv.net",
|
||||||
@@ -53,11 +55,15 @@ class PixivWebAgent
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
mech.get("https://comic.pixiv.net") do |page|
|
begin
|
||||||
cookie = mech.cookies.select {|x| x.name == COMIC_SESSION_COOKIE_KEY}.first
|
mech.get("https://comic.pixiv.net") do |page|
|
||||||
if cookie
|
cookie = mech.cookies.select {|x| x.name == COMIC_SESSION_COOKIE_KEY}.first
|
||||||
Cache.put(COMIC_SESSION_CACHE_KEY, cookie.value, 1.month)
|
if cookie
|
||||||
|
Cache.put(COMIC_SESSION_CACHE_KEY, cookie.value, 1.month)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
rescue Net::HTTPServiceUnavailable
|
||||||
|
# ignore
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user