Kies 'n proxy vir elke Splash-hulpbron
Kies 'n Splash-proxy op renderskaal of in 'n on_request-terugroep wanneer individuele hulpbronne verskillende roetes nodig het.
'n Scrapy-versoek kan Splash suksesvol bereik terwyl die blaaier binne Splash steeds 'n ander uitgaande roete nodig het. Dit is twee verbindings:
Scrapy → Splash API
Splash browser → forward proxy → websiteVir een proxy per weergawe, gee die HTTP API se proxy-argument deur. Splash 3.5 dokumenteer 'n proxy-URL soos http://proxy.example:8080, of 'n gekonfigureerde proxy-profielnaam. Die URL-formaat ondersteun ook SOCKS5 en opsionele geloofsbriewe.
Wanneer individuele bladsy-hulpbronne verskillende eindpunte nodig het, gebruik 'n execute-skrip en registreer die keuse voor navigasie:
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()
endGee default_proxy en special_proxy as gasheername deur, en special_resource as die presiese hulpbron-URL wat apart geroteer moet word. Vervang die enkele voorbeeldpoort wanneer die twee luisteraars verskil. Ander hulpbronne kry die standaardroete. Die HTTP-proksielys verskaf eindpuntkandidate vir hierdie gasheer- en poortvelde wanneer roetes na publieke hulpbronne toegelaat word en geen proxy-geloofsbriewe op die kandidate toegepas word nie.
Die request-metode aanvaar opsionele username- en password-velde. Met die tipe HTTP gebruik HTTPS-bestemmings CONNECT deur daardie HTTP-proxy; hulle vereis nie 'n uitgedinkte HTTPS-proxy-tipe nie.
Die terugroep loop voor elke versoek. Sy request-metodes kan nie 'n versoek verander nadat dit gestuur is nie, en die terugroep kan nie asinchrone Splash-metodes soos splash:go of splash:wait aanroep nie.
Hou roetekeuse stabiel wanneer die bladsy een sessie of bronidentiteit verwag. Om elke prent en API-versoek lukraak aan 'n ander uitgang toe te wys, kan 'n weergegewe bladsy lewer waarvan die versoeke nie meer aan een samehangende sessie behoort nie.