Sessões
Por padrão, cada requisição rotaciona para um novo IP. Quando você precisa do mesmo IP em várias requisições, abra uma sessão sticky.
Rotação por requisição
Seção intitulada “Rotação por requisição”Envie requisições sem a flag sid. Cada requisição usa um IP diferente.
curl -x customer-USERNAME-country-us:PASSWORD@p.shifter.io:443 \ http://ip-info.com/json# 72.14.201.44
curl -x customer-USERNAME-country-us:PASSWORD@p.shifter.io:443 \ http://ip-info.com/json# 98.207.12.9Sessão sticky
Seção intitulada “Sessão sticky”Adicione sid-<id> ao nome de usuário. O id é qualquer string que você escolher; requisições subsequentes com o mesmo id retornam o mesmo IP até que o TTL expire ou o IP caia no upstream. ttl-<seconds> é opcional e só é válido junto com sid — ele sobrepõe o tempo de vida padrão (120 segundos, mínimo 1). O construtor de endpoint do painel também usa 120 como padrão.
customer-USERNAME-country-us-sid-order42 # default 120s lifetimecustomer-USERNAME-country-us-sid-order42-ttl-600 # custom 10-minute lifetimecurl -x customer-USERNAME-sid-order42-ttl-600:PASSWORD@p.shifter.io:443 \ http://ip-info.com/json# 72.14.201.44
curl -x customer-USERNAME-sid-order42-ttl-600:PASSWORD@p.shifter.io:443 \ http://ip-info.com/json# 72.14.201.44 (same)Escolhendo um id de sessão
Seção intitulada “Escolhendo um id de sessão”- Escolha algo único por fluxo de trabalho (
order-42,user-a7f3,checkout-2024-11-21-1). - Duas execuções separadas compartilhando o mesmo id ao mesmo tempo vão colidir em um único IP sticky.
- O id é arbitrário; a Shifter não o interpreta. Ele é usado como chave de cache.
Quando a sessão expira
Seção intitulada “Quando a sessão expira”- Após
ttlsegundos, o mapeamento é descartado e a próxima requisição rotaciona para um novo IP (as flags de segmentação são preservadas). - Se o IP residencial subjacente se desconectar antes disso, a sessão termina mais cedo e a próxima requisição rotaciona.
Combinando com segmentação geográfica
Seção intitulada “Combinando com segmentação geográfica”Sessões sticky respeitam suas outras flags. Um id de sessão fixa um IP dentro do seu filtro:
customer-USERNAME-country-us-city-los_angeles-sid-scrape1 # default 120scustomer-USERNAME-country-us-city-los_angeles-sid-scrape1-ttl-300 # custom 5-minTodas as requisições com o mesmo id permanecem em um único IP de Los Angeles durante a duração do TTL.
Sessões entre máquinas e regiões
Seção intitulada “Sessões entre máquinas e regiões”As sessões sticky são mantidas por região. p.shifter.io conecta cada máquina à região mais próxima, então o mesmo sid usado por duas máquinas que chegam a regiões diferentes recebe dois IPs diferentes. Isso afeta:
- Um scraper e um solucionador de captcha que usam a mesma sessão (o solucionador se conecta a partir dos próprios servidores).
- Vários servidores, contêineres ou funções em nuvem compartilhando uma sessão.
- Um navegador e um cliente de API separado que precisam aparecer como o mesmo visitante.
Para manter um único IP em todo lugar, aponte todas as ferramentas que compartilham a sessão para o mesmo ponto de entrada regional, por exemplo fra.p.shifter.io:
customer-USERNAME-country-us-sid-order42-ttl-600:PASSWORD@fra.p.shifter.io:443Uma única máquina que sempre se conecta por p.shifter.io normalmente não é afetada.
Próximos passos
Seção intitulada “Próximos passos”- Segmentação geográfica, reduza o pool antes de fixar.
- Integrações, ids de sessão no Scrapy, Puppeteer, Playwright.