Rotação de proxies: quando o IP muda
A rotação de proxies muda o IP de saída que um site vê ao receber seu tráfego. A mudança pode acontecer com uma nova solicitação, após um intervalo definido ou quando seu aplicativo pede outro endereço. O momento certo permite distribuir solicitações independentes entre IPs diferentes e manter ações relacionadas juntas.
A escolha mais ampla entre um endereço fixo e endereços que mudam é abordada em Proxies estáticos ou rotativos. Aqui, a questão é o que aciona uma mudança e como ela afeta as solicitações já em andamento.
O que muda durante a rotação?
Com um gateway rotativo, o endereço inserido no seu software pode permanecer igual enquanto o site vê IPs de saída diferentes. Você se conecta ao mesmo nome de host e à mesma porta; o serviço seleciona a saída usada na conexão com o site.
Por exemplo, um monitor de preços pode buscar uma página pública de produto por 192.0.2.14 e outra por 198.51.100.27. Esses são endereços de exemplo. O computador que executa o monitor não mudou sua conexão de internet; as solicitações chegam ao site por saídas diferentes.
Duas decisões separadas determinam o resultado: quando selecionar uma saída novamente e de onde obter a próxima saída. Um temporizador pode selecionar outro proxy disponível ou reconectar um modem móvel. O acionamento é o mesmo, mas a operação e as eventuais interrupções podem ser diferentes.
Rotação a cada solicitação
Com a rotação por solicitação, o serviço faz uma nova seleção de saída para cada solicitação que consegue rotear de forma independente. Isso é adequado a páginas separadas de produtos, listagens públicas ou consultas de pesquisa que não precisam de um IP em comum. A palavra “solicitação” exige cuidado aqui: para tráfego HTTPS e SOCKS5 TCP, a rotação costuma ser aplicada quando uma nova conexão com o destino é aberta.
Imagine coletar o preço de 500 páginas de produtos. Cada página fornece um resultado separado. O serviço pode distribuir essas solicitações entre saídas disponíveis em vez de enviar todo o trabalho por um endereço. Várias solicitações executadas ao mesmo tempo também podem usar saídas diferentes.
Uma nova seleção pode retornar um endereço usado anteriormente. O pool disponível é finito, e a seleção pode ser aleatória. A rotação por solicitação não promete, por si só, 500 IPs diferentes para 500 solicitações.
Uma solicitação e uma conexão são diferentes
Um aplicativo pode enviar várias solicitações HTTP por uma conexão. Para uma conexão HTTPS comum por um proxy, ele primeiro abre um túnel até o destino. As solicitações criptografadas então viajam dentro desse túnel, e o proxy encaminha seus dados sem ler as solicitações individuais.
Portanto, a saída permanece igual para esse túnel. Um serviço descrito como por solicitação pode selecionar outra saída quando o aplicativo abre um novo túnel ou uma nova conexão com o destino. Reutilizar o túnel existente pode manter o IP anterior.
Uma página do navegador pode carregar muitos recursos por várias conexões, e atualizá-la pode reutilizar conexões já abertas. Consequentemente, a rotação não está vinculada a um clique, uma aba ou um carregamento completo de página.
Rotação em um intervalo definido
Com rotação baseada em tempo, uma atribuição de IP dura uma janela definida. Após essa janela, o serviço seleciona uma saída novamente. Solicitações relacionadas podem compartilhar o endereço atribuído durante a janela, desde que a saída permaneça disponível.
Suponha que uma sessão comece às 10:00 com duração de cinco minutos. Um teste abre um catálogo, aplica um filtro e verifica a próxima página de resultados usando a mesma saída. Às 10:05, a atribuição expira; uma nova conexão após a expiração pode receber outro endereço. Cinco minutos é um exemplo aqui, não um intervalo padrão de todos os serviços.
Verifique quando o temporizador começa. Ele pode contar a partir da primeira solicitação em uma sessão ou seguir uma programação para uma porta de proxy. Se a próxima mudança programada ocorrer em um minuto, iniciar uma tarefa agora não dá a você uma janela completa de cinco minutos. Um tempo limite de inatividade separado também pode encerrar uma atribuição antes.
O intervalo geralmente se aplica a uma sessão, porta ou configuração de conexão de proxy específica. Ele não necessariamente alterna todas as conexões de uma conta de uma vez. Se várias tarefas precisam de atribuições de IP separadas, elas precisam da separação correspondente compatível com o serviço.
Manter uma saída atribuída em várias solicitações é comumente chamado de sessão persistente com manutenção do IP (sticky session). Um serviço rotativo pode usar esse modo para manter um endereço por algum tempo e depois selecionar novamente.
Rotação sob demanda
Com rotação sob demanda, você ou seu aplicativo escolhe o momento de solicitar outra saída. Dependendo do serviço, o controle pode ser um botão no painel, uma URL de rotação ou um comando de API. Alguns serviços também fazem uma nova atribuição quando você inicia outra sessão de proxy.
Isso é útil quando uma tarefa tem várias etapas relacionadas, mas uma duração imprevisível. Um teste pode abrir um formulário, enviá-lo e esperar pela página de confirmação. Ele pode manter a saída atual durante toda a sequência e solicitar outra atribuição antes de iniciar o próximo teste independente.
A rotação sob demanda pode ser automatizada: o aplicativo envia o comando de mudança após uma tarefa concluída ou um número escolhido de solicitações. “Sob demanda” descreve quem decide quando alternar. Isso não exige que uma pessoa pressione um botão a cada vez.
O alcance do controle também importa. Um comando pode afetar apenas uma sessão, uma porta inteira de proxy ou um modem físico compartilhado por várias conexões. Se ele muda a atribuição de todas essas conexões, outros trabalhos que usam esse recurso também podem ser afetados.
O que acontece com uma solicitação já em andamento?
Em uma conexão TCP comum com um site, o IP de saída continua sendo parte dessa conexão. Uma solicitação e sua resposta usam a mesma conexão estabelecida. A rotação não pode simplesmente mover a troca inacabada para outro IP de saída.
Um serviço pode lidar com o momento da rotação de formas diferentes. Ele pode deixar uma conexão existente terminar pela saída atual e aplicar a nova atribuição às conexões posteriores. Em vez disso, pode fechar a conexão, exigindo que o aplicativo se reconecte. Reconectar um modem também pode interromper o tráfego que passa por ele.
Considere um download que começa pouco antes de uma rotação programada por tempo. Se a conexão for mantida aberta, o download poderá continuar pela saída antiga após a expiração do temporizador. Se a conexão for fechada, o aplicativo deverá reiniciar ou retomar o download, quando houver suporte. O intervalo de rotação, sozinho, não informa como uma transferência ativa se comportará.
De onde vem o próximo IP?
Seleção de outra saída de um pool
Um serviço baseado em pool seleciona uma saída disponível. A próxima conexão pode usar outro IP no mesmo servidor de datacenter, outro servidor, uma conexão doméstica ou um dispositivo móvel. Selecionar uma saída de um pool não exige reconectar o dispositivo que transportou a solicitação anterior.
Onde há suporte a filtros de localização ou rede, eles restringem as saídas elegíveis. Selecionar outro IP dentro de um país não exige mudar de país. Uma seleção restrita também pode significar um conjunto menor de endereços disponíveis e mais repetições.
Reconexão de um modem móvel
Alguns serviços de proxy móvel fazem a rotação desconectando e restabelecendo a conexão de dados celulares do modem. O tráfego por essa conexão pode pausar durante o processo. A operadora determina o endereçamento público; por isso, uma reconexão pode retornar o mesmo IP público.
Outros serviços móveis selecionam outro dispositivo disponível de um pool. As duas são formas de rotação de proxies móveis, mas podem ter efeitos diferentes sobre o trabalho em andamento. O termo rotação móvel, por si só, não especifica qual mecanismo é usado.
Quem controla a alternância?
Com um gateway rotativo, o provedor seleciona a saída conforme o modo solicitado. Seu aplicativo pode manter o mesmo gateway nas configurações enquanto o serviço gerencia os endereços de saída.
Seu aplicativo também pode alternar por conta própria entre proxies de uma lista fixa. Por exemplo, pode usar o primeiro endereço para uma tarefa, o segundo para a próxima e continuar pela lista. Pode selecionar em ordem ou aleatoriamente, alternar após cada solicitação independente ou manter um proxy até uma tarefa terminar.
Portanto, uma lista de proxies de datacenter ou ISP estáticos pode atender a um fluxo de trabalho rotativo. O IP de cada proxy permanece fixo; seu software muda qual proxy transporta a próxima conexão. Isso é útil quando você quer controlar por conta própria a atribuição de endereços às tarefas.
Substituir endereços comprados em uma assinatura é uma operação separada. Uma renovação programada dos endereços muda o conjunto de IPs que você pode acessar. Ela não faz seu aplicativo alternar automaticamente entre eles durante o trabalho.
Escolha o momento de acordo com a tarefa
Comece identificando quais ações precisam manter a mesma saída. Em seguida, coloque a mudança em um ponto em que a próxima solicitação ou tarefa possa usar outro IP.
| Tarefa | Momento adequado | Motivo |
|---|---|---|
| Coletar páginas públicas separadas de produtos | Por solicitação ou nova conexão com o destino | Cada resultado pode ser buscado por uma saída selecionada separadamente. |
| Executar várias verificações relacionadas dentro de um período conhecido | Uma atribuição programada por tempo que cubra essas verificações | As solicitações podem compartilhar uma saída enquanto a atribuição permanecer ativa. |
| Concluir uma sequência de duração variável | Sob demanda, após a conclusão | Seu aplicativo sabe quando as etapas que pertencem à mesma sequência terminaram. |
Para uma transferência longa, o tratamento das conexões existentes importa mais do que um intervalo de rotação curto. Para várias tarefas simultâneas, verifique se o controle de rotação se aplica a cada tarefa separadamente ou a um recurso que elas compartilham.
Mudar o IP não limpa os cookies do navegador nem os dados da conta. Um site ainda pode associar as solicitações à mesma sessão ou conta. A rotação distribui o tráfego entre saídas; ela não redefine todas as restrições nem garante que uma solicitação terá sucesso.
Verifique o modo escolhido com um teste pequeno antes de uma execução completa. Registre o IP de saída e o horário das novas conexões e depois repita a verificação no momento esperado de expiração do temporizador ou após um comando de mudança. Verifique também se uma conexão aberta continua ativa. Essas observações mostram se a alternância real atende à tarefa; IPs repetidos, por si só, não provam que a rotação está com defeito.
