mirror of
https://github.com/FlareSolverr/FlareSolverr.git
synced 2025-06-08 12:35:30 +00:00
Minor improvements in debug traces
This commit is contained in:
parent
8aa7723f45
commit
b4c99d8426
@ -12,8 +12,7 @@ import { SolverOptions } from '.'
|
|||||||
|
|
||||||
export default async function solve({ url }: SolverOptions): Promise<string> {
|
export default async function solve({ url }: SolverOptions): Promise<string> {
|
||||||
try {
|
try {
|
||||||
const token = await solveCaptcha(url)
|
return await solveCaptcha(url)
|
||||||
return token
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e)
|
console.error(e)
|
||||||
return null
|
return null
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
let requests = 0
|
let requests = 0
|
||||||
|
|
||||||
const LOG_HTML: boolean = Boolean(process.env.LOG_HTML) || false
|
const LOG_HTML: boolean = process.env.LOG_HTML == 'true';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
incRequests: () => { requests++ },
|
incRequests: () => { requests++ },
|
||||||
@ -9,10 +9,10 @@ export default {
|
|||||||
this.debug(html)
|
this.debug(html)
|
||||||
},
|
},
|
||||||
...require('console-log-level')(
|
...require('console-log-level')(
|
||||||
{
|
{level: process.env.LOG_LEVEL || 'info',
|
||||||
level: process.env.LOG_LEVEL || 'info',
|
|
||||||
prefix(level: string) {
|
prefix(level: string) {
|
||||||
return `${new Date().toISOString()} ${level.toUpperCase()} REQ-${requests}`
|
const req = (requests > 0) ? ` REQ-${requests}` : '';
|
||||||
|
return `${new Date().toISOString()} ${level.toUpperCase()}${req}`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -117,7 +117,7 @@ export default async function resolveChallenge(url: string, page: Page, response
|
|||||||
|
|
||||||
// ignore preset event listeners on the form
|
// ignore preset event listeners on the form
|
||||||
await page.evaluate(() => {
|
await page.evaluate(() => {
|
||||||
window.addEventListener('submit', (e) => { event.stopPropagation() }, true)
|
window.addEventListener('submit', (e) => { e.stopPropagation() }, true)
|
||||||
})
|
})
|
||||||
|
|
||||||
// it seems some sites obfuscate their challenge forms
|
// it seems some sites obfuscate their challenge forms
|
||||||
|
@ -180,18 +180,17 @@ async function setupPage(ctx: RequestContext, params: BaseRequestAPICall, browse
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (headers) {
|
if (headers) {
|
||||||
log.debug(`Adding custom headers: ${JSON.stringify(headers, null, 2)}`,)
|
log.debug(`Adding custom headers: ${JSON.stringify(headers)}`)
|
||||||
overrideResolvers.headers = request => Object.assign(request.headers(), headers)
|
overrideResolvers.headers = request => Object.assign(request.headers(), headers)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cookies) {
|
if (cookies) {
|
||||||
log.debug(`Setting custom cookies: ${JSON.stringify(cookies, null, 2)}`,)
|
log.debug(`Setting custom cookies: ${JSON.stringify(cookies)}`)
|
||||||
await page.setCookie(...cookies)
|
await page.setCookie(...cookies)
|
||||||
}
|
}
|
||||||
|
|
||||||
// if any keys have been set on the object
|
// if any keys have been set on the object
|
||||||
if (Object.keys(overrideResolvers).length > 0) {
|
if (Object.keys(overrideResolvers).length > 0) {
|
||||||
log.debug(overrideResolvers)
|
|
||||||
let callbackRunOnce = false
|
let callbackRunOnce = false
|
||||||
const callback = (request: Request) => {
|
const callback = (request: Request) => {
|
||||||
|
|
||||||
@ -208,8 +207,7 @@ async function setupPage(ctx: RequestContext, params: BaseRequestAPICall, browse
|
|||||||
overrides[key] = overrideResolvers[key](request)
|
overrides[key] = overrideResolvers[key](request)
|
||||||
});
|
});
|
||||||
|
|
||||||
log.debug(overrides)
|
log.debug(`Overrides: ${JSON.stringify(overrides)}`)
|
||||||
|
|
||||||
request.continue(overrides)
|
request.continue(overrides)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -253,7 +251,9 @@ const browserRequest = async (ctx: RequestContext, params: BaseRequestAPICall) =
|
|||||||
log.error(error)
|
log.error(error)
|
||||||
return ctx.errorResponse("Unable to process browser request. Error: " + error)
|
return ctx.errorResponse("Unable to process browser request. Error: " + error)
|
||||||
} finally {
|
} finally {
|
||||||
if (oneTimeSession) { sessions.destroy(sessionId) }
|
if (oneTimeSession) {
|
||||||
|
await sessions.destroy(sessionId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ export default {
|
|||||||
puppeteerOptions.executablePath = path.join(path.dirname(process.execPath), 'chrome', exe)
|
puppeteerOptions.executablePath = path.join(path.dirname(process.execPath), 'chrome', exe)
|
||||||
}
|
}
|
||||||
|
|
||||||
log.debug('Launching headless browser...')
|
log.debug('Launching browser...')
|
||||||
|
|
||||||
// TODO: maybe access env variable?
|
// TODO: maybe access env variable?
|
||||||
// TODO: sometimes browser instances are created and not connected to correctly.
|
// TODO: sometimes browser instances are created and not connected to correctly.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user