Allow cookies from anti-captcha to be optional (#1371)

This commit is contained in:
Omar Roth 2020-09-09 19:04:08 -04:00 committed by GitHub
parent b88872d54b
commit 9995a8d53f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -246,7 +246,7 @@ def bypass_captcha(captcha_key, logger)
end end
inputs["g-recaptcha-response"] = response["solution"]["gRecaptchaResponse"].as_s inputs["g-recaptcha-response"] = response["solution"]["gRecaptchaResponse"].as_s
headers["Cookies"] = response["solution"]["cookies"].as_h.map { |k, v| "#{k}=#{v}" }.join("; ") headers["Cookies"] = response["solution"]["cookies"].as_h?.try &.map { |k, v| "#{k}=#{v}" }.join("; ") || ""
response = YT_POOL.client &.post("/das_captcha", headers, form: inputs) response = YT_POOL.client &.post("/das_captcha", headers, form: inputs)
yield response.cookies.select { |cookie| cookie.name != "PREF" } yield response.cookies.select { |cookie| cookie.name != "PREF" }
@ -296,7 +296,7 @@ def bypass_captcha(captcha_key, logger)
end end
inputs["g-recaptcha-response"] = response["solution"]["gRecaptchaResponse"].as_s inputs["g-recaptcha-response"] = response["solution"]["gRecaptchaResponse"].as_s
headers["Cookies"] = response["solution"]["cookies"].as_h.map { |k, v| "#{k}=#{v}" }.join("; ") headers["Cookies"] = response["solution"]["cookies"].as_h?.try &.map { |k, v| "#{k}=#{v}" }.join("; ") || ""
response = YT_POOL.client &.post("/sorry/index", headers: headers, form: inputs) response = YT_POOL.client &.post("/sorry/index", headers: headers, form: inputs)
headers = HTTP::Headers{ headers = HTTP::Headers{
"Cookie" => URI.parse(response.headers["location"]).query_params["google_abuse"].split(";")[0], "Cookie" => URI.parse(response.headers["location"]).query_params["google_abuse"].split(";")[0],