Integração

Use a Shifter com Postman

O Postman tem suporte nativo de primeira classe para proxy - configure a Shifter uma vez no nível global e todas as coleções passarão a rodar por IPs residenciais. Ou defina por ambiente para separar produção e staging.

Início Rápido

Instalar

// Postman desktop > Settings > Proxy. No install required.

Uso Básico

// Postman desktop > Settings > Proxy:
//
//   ☑ Use custom proxy configuration
//   Proxy Type:           HTTP and HTTPS
//   Proxy Server:         p.shifter.io
//   Proxy Port:           443
//   ☑ This proxy requires authentication
//   Proxy Auth Username:  customer-USERNAME-country-us-sid-123ABC
//   Proxy Auth Password:  PASSWORD
//
// Every request you send (and every collection run) now routes
// through Shifter's residential pool.

Recursos

Suporte nativo a proxy no Postman desktop, Settings > Proxy, sem necessidade de extensões
O Newman CLI respeita as variáveis de ambiente HTTP_PROXY / HTTPS_PROXY para execuções headless em CI
Scripts de pré-requisição podem criar sessões sticky por execução, parametrizar país e definir cabeçalhos por requisição
Geo-direcionamento em 195+ países via variáveis de país por ambiente
Compatível com o Postman Cloud Agent via o padrão Web Scraping API + sendRequest
Suporta os protocolos HTTP, HTTPS e SOCKS5 no mesmo gateway Shifter

Exemplos

Pre-Request Script — Sessão Sticky Dinâmica por Execução

Gere um sid novo no início de cada execução de coleta e injete-o no nome de usuário do proxy. Cada execução recebe um IP residencial limpo; as requisições dentro de uma execução compartilham esse IP.

// Collection-level Pre-request Script
//
// Runs once at the start of each collection / Newman run.

const sid = pm.variables.replaceIn("{{$randomAlphaNumeric}}").repeat(2).slice(0, 8);

pm.environment.set("shifter_sid", sid);

// Construct the Shifter username with country + sid + ttl
const country = pm.environment.get("country") || "us";
const user    = pm.environment.get("shifter_user");
const pass    = pm.environment.get("shifter_pass");

const proxyUser = `${user}-country-${country}-sid-${sid}-ttl-300`;
pm.environment.set("proxy_auth_basic",
  "Basic " + Buffer.from(`${proxyUser}:${pass}`).toString("base64"));

console.log("Shifter session:", sid, "country:", country);

// Every request in this run can now reference {{proxy_auth_basic}}
// in its Proxy-Authorization header (when using Postman's "Send via
// proxy" override on individual requests).

Newman CLI: Execuções de Coleções com Script

O Newman é o CLI do Postman. Injete a Shifter como uma variável de ambiente para que as execuções de teste orientadas por CI / cron usem IPs residenciais sem alterar a coleção.

# Set Shifter as the system proxy for the Newman process
# (Newman picks up HTTP_PROXY / HTTPS_PROXY env vars automatically)

export HTTP_PROXY="customer-USERNAME-country-us-sid-ci-123ABC:PASSWORD@p.shifter.io:443"
export HTTPS_PROXY="$HTTP_PROXY"
export NO_PROXY="localhost,127.0.0.1"

newman run my-collection.postman_collection.json \
  --environment production.postman_environment.json \
  --reporters cli,json \
  --reporter-json-export results.json

# Or scope per-run with a one-liner:
HTTP_PROXY="http://USER:PASS@p.shifter.io:443" \
HTTPS_PROXY="http://USER:PASS@p.shifter.io:443" \
  newman run my-collection.postman_collection.json

# In a GitHub Actions step:
- name: Run Postman tests via Shifter
  env:
    HTTP_PROXY:  http://${{ secrets.SHIFTER_USER }}:${{ secrets.SHIFTER_PASS }}@p.shifter.io:443
    HTTPS_PROXY: http://${{ secrets.SHIFTER_USER }}:${{ secrets.SHIFTER_PASS }}@p.shifter.io:443
  run: newman run collection.json --environment env.json

Proxy Por Ambiente (Produção / Staging)

Países diferentes por ambiente, tudo em uma única coleção. Troque de ambiente e o Postman usa o pool residencial correspondente da Shifter — sem outras alterações de configuração.

// Environment: "Production-US"
{
  "values": [
    { "key": "shifter_user", "value": "customer-USERNAME", "type": "secret" },
    { "key": "shifter_pass", "value": "PASSWORD",          "type": "secret" },
    { "key": "country",      "value": "us" },
    { "key": "base_url",     "value": "https://example.com" }
  ]
}

// Environment: "Production-UK"
{
  "values": [
    { "key": "shifter_user", "value": "customer-USERNAME", "type": "secret" },
    { "key": "shifter_pass", "value": "PASSWORD",          "type": "secret" },
    { "key": "country",      "value": "uk" },
    { "key": "base_url",     "value": "https://example.co.uk" }
  ]
}

// Collection-level Pre-request Script (same script in both environments):
const proxy = {
  host:     "p.shifter.io",
  port:     443,
  username: `${pm.environment.get("shifter_user")}-country-${pm.environment.get("country")}-sid-${pm.collectionVariables.get("run_id")}`,
  password: pm.environment.get("shifter_pass"),
};

pm.environment.set("proxy_url", `http://${proxy.username}:${proxy.password}@${proxy.host}:${proxy.port}`);

console.log(`Routing through Shifter ${pm.environment.get("country")}`);

Postman Cloud Agent (sem instalação local)

O Postman Cloud Agent executa coleções a partir da infraestrutura do Postman - ele não respeita as configurações de proxy do desktop. Solução alternativa: encaminhe todas as requisições de saída pela Shifter Web Scraping API usando um Pre-request Script + pm.sendRequest.

// Cloud Agent doesn't apply your desktop proxy settings,
// so wrap every outbound request in a call to the Shifter
// Web Scraping API from a Pre-request Script.

const targetUrl = pm.request.url.toString();
const country   = pm.environment.get("country") || "us";
const apiKey    = pm.environment.get("shifter_api_key");

const params = new URLSearchParams({
  api_key: apiKey,
  url:     targetUrl,
  country: country,
  render_js: "1",            // headless browser rendering
});

pm.sendRequest({
  url:    `https://scrape.shifter.io/v1?${params.toString()}`,
  method: "GET",
}, function (err, res) {
  if (err) { console.error(err); return; }
  pm.environment.set("forwarded_body",   res.text());
  pm.environment.set("forwarded_status", res.code);
});

// Tests assert against {{forwarded_body}} instead of the raw
// response — same shape as a real proxy hop, served from
// Shifter's residential pool.
Perguntas Frequentes

Perguntas frequentes

Perguntas comuns sobre usar o Shifter com Postman.

Configurações > Proxy > 'Usar configuração de proxy personalizada'. Digite `p.shifter.io` como host, `443` como porta, marque 'requer autenticação' e informe seu nome de usuário Shifter (com seletores de país / sid) e senha. A partir desse momento, cada solicitação que você enviar será roteada através do Shifter.

Sim. O Newman respeita as variáveis de ambiente padrão HTTP_PROXY e HTTPS_PROXY. Defina-as antes de executar `newman run` e todo teste será roteado através do Shifter. Essa é a forma mais limpa de integrar proxies em pipelines de CI.

Use um Pre-request Script em nível de coleção que gera um sid novo (por exemplo, `pm.variables.replaceIn("{{$randomAlphaNumeric}}")`) e o armazena em uma variável de ambiente. Referencie esse sid no nome de usuário do proxy — toda requisição na execução compartilhará um único IP residencial.

Sim. Defina uma variável `country` por ambiente (us, uk, jp, de, etc.) e referencie-a no Pre-request Script que monta a URL de proxy da Shifter. Trocar de ambiente agora troca o país de onde seus testes são executados, mesma coleção, sem outras alterações.

O Postman Cloud Agent não aplica as configurações de proxy do seu desktop, pois é executado na infraestrutura do Postman. Solução alternativa: em um Pre-request Script, use pm.sendRequest para chamar a Shifter Web Scraping API (scrape.shifter.io/v1?api_key=...&url=...) e armazene a resposta em variáveis de ambiente. Os testes então validam com base nelas.

Sim. Os Postman Monitors rodam no Postman Cloud e seguem as mesmas restrições do Cloud Agent — use o padrão Web Scraping API do exemplo do Cloud Agent. Para monitores auto-hospedados, execute o Newman na sua própria infraestrutura com HTTP_PROXY configurado para o Shifter e envie os resultados para o seu stack de alertas.

Começar

Comece a Usar o Shifter com Postman

Teste, faça scraping e monitore APIs através dos 205M+ proxies residenciais e de ISP da Shifter. Suporte nativo a proxy no Postman desktop, integração com Newman CI e alternância de país por ambiente.

Experimente o Shifter GratuitamenteConfigure em minutos. Cancele quando quiser.