Vel ein proxy for kvar Splash-ressurs
Vel ein Splash-proxy på gjengivingsnivå eller i ein on_request-tilbakekalling når einskilde ressursar treng ulike ruter.
Ein Scrapy-førespurnad kan nå Splash, medan nettlesaren inne i Splash framleis treng ein annan utgåande rute. Dette er to tilkoplingar:
Scrapy → Splash API
Splash browser → forward proxy → websiteFor éin proxy per gjengiving sender du proxy-argumentet til HTTP API-et. Splash 3.5 dokumenterer ein proxy-URL som http://proxy.example:8080, eller eit konfigurert proxyprofilnamn. URL-formatet støttar òg SOCKS5 og valfrie påloggingsopplysningar.
Når einskilde sideressursar treng ulike endepunkt, bruk eit execute-skript og registrer valet før navigering:
function main(splash, args)
splash:on_request(function(request)
local host = args.default_proxy
if request.url == args.special_resource then
host = args.special_proxy
end
request:set_proxy{host = host, port = 8080, type = 'HTTP'}
end)
assert(splash:go(args.url))
return splash:html()
endSend default_proxy og special_proxy som vertsnamn, og special_resource som den nøyaktige ressurs-URL-en som skal rutast separat. Bytt ut den eine dømeporten når dei to lyttarane er ulike. Andre ressursar får standardruta. HTTP-proxylista tilbyr endepunktkandidatar for desse verts- og portfelta når ruter til offentlege ressursar er tillatne og ingen proxy-påloggingsopplysningar blir brukte på kandidatane.
request-metoden godtek dei valfrie felta username og password. Med typen HTTP brukar HTTPS-mål CONNECT gjennom den HTTP-proxyen; dei krev ikkje ein oppdikta HTTPS-proxytype.
Tilbakekallinga køyrer før kvar førespurnad. request-metodane hennar kan ikkje endre ein førespurnad etter at han er send, og tilbakekallinga kan ikkje kalle asynkrone Splash-metodar som splash:go eller splash:wait.
Hald rutevalet stabilt når sida ventar éi økt eller éin kjeldeidentitet. Å tildele kvart bilete og kvar API-førespurnad tilfeldig til ein annan utgang kan gje ei gjengitt side der førespurnadene ikkje lenger høyrer til éi samanhengande økt.