Defina um breakpoint
Pause uma requisição ou uma resposta de um celular real no meio do caminho, edite o HTTP bruto no dashboard e deixe-a continuar — ou aborte-a. Funciona no iOS em modo VPN e PAC, no Android pelo proxy e em um Chrome capturado.
Observar o tráfego mostra o que o app enviou. Um breakpoint permite mudá-lo antes de chegar. Quando uma requisição ou resposta casa com um padrão que você definiu, ela é retida — no próprio celular no modo VPN do iOS, dentro do túnel, ou no servidor proxy para iOS em modo PAC, Android e navegadores — e aparece no dashboard como uma pausa ao vivo com um editor para o HTTP bruto. Você edita e depois decide: continuar com ou sem suas alterações, ou abortar.
O dashboard é a cabine de comando em qualquer caso; o celular nunca precisa ser tocado. Os padrões são curingas simples de host mais caminho, um atalho de um clique pausa tudo, e uma pausa esquecida expira sozinha, então um breakpoint do qual você se afastou nunca consegue travar o tráfego do celular para sempre.
O que você
Um celular que já captura e o host que você quer pausar descriptografado nele.
Um celular pareado com a captura ligada — iOS em qualquer um dos modos, ou Android pelo proxy.
O host na lista de SSL proxy daquele dispositivo. Um padrão com caminho precisa de um host descriptografado; um host criptografado só pode ser casado pelo nome.
O dashboard aberto e uns sessenta segundos de atenção por pausa — esse é o tempo limite.
Opcionalmente, uma variável de ambiente com um token novo, para repetir uma chamada sem colar o segredo.
Faça
Sete passos: descriptografar, definir o padrão, disparar, editar, decidir, depois o lado da resposta e a repetição.
- 01
Descriptografe o host primeiro
Encontre uma requisição real para o endpoint no feed e confirme que o corpo está legível. Se não estiver, adicione o host à lista de SSL proxy do dispositivo e dispare a chamada de novo — no iOS em modo VPN, desligue e ligue o túnel para que ele carregue a nova lista. Breakpoints casam por host e caminho, e o caminho só existe para um host descriptografado.
- 02
Adicione um padrão de requisição e salve
Abra a página Breakpoints pelo menu de configurações. Adicione um padrão de requisição para pausar uma requisição de saída antes de chegar ao servidor, ou um padrão de resposta para pausar a resposta antes de o app vê-la — a mesma sintaxe de curingas de host mais caminho que as regras de bloqueio usam. Clique em Save patterns para enviá-los ao caminho de captura. Os padrões por dispositivo ficam sob o dispositivo, depois Breakpoints; o conjunto global é o fallback para todos os dispositivos.
Com pressa? Pause all requests é um atalho de um clique que pausa toda requisição de saída sem padrão nenhum. Resume all desfaz isso.
Dois padrões — um para o lado da requisição, outro para o lado da resposta text# Request patterns (pause before the request leaves the phone) api.example.com/v1/checkout/* # Response patterns (pause the reply before the app sees it) *.example.com/v1/session - 03
Dispare a chamada do celular
Use o app. Quando uma requisição casa, ela para — dentro da extensão de túnel do iOS em modo VPN, no servidor proxy nos outros casos — e aparece em Live pauses no dashboard, com uma pílula de status confirmando que o link ao vivo está saudável. Para o app, é só uma rede lenta.
- 04
Edite o HTTP bruto
Escolha a pausa e edite a requisição na área de texto: método, caminho, cabeçalhos e corpo. O tamanho do conteúdo é recalculado automaticamente, então você nunca precisa contar bytes. O cabeçalho Host é editável, mas não redireciona a requisição — ele muda o que o servidor vê, não para onde a requisição vai.
Como uma requisição pausada aparece no editor httpPOST /v1/checkout/confirm HTTP/1.1 Host: api.example.com Content-Type: application/json Authorization: Bearer <redacted> {"amount": 4900, "currency": "eur", "coupon": null} - 05
Continue, aborte ou redefina — em até sessenta segundos
Continue deixa a requisição prosseguir, com ou sem suas edições. Abort a descarta, então o app vê uma falha. Reset joga fora suas edições e restaura o original capturado. Sua decisão viaja até o dispositivo dono da pausa pelo canal de controle ao vivo; se ninguém decidir em sessenta segundos, a pausa expira sozinha e a requisição original segue, então um breakpoint deixado sem atenção nunca bloqueia o celular para sempre.
- 06
Pause também o lado da resposta
Um padrão de resposta segura a resposta do servidor antes de o app recebê-la. É assim que você testa o que o app faz com um campo que o servidor nunca envia, um status que ele nunca retorna ou um corpo ligeiramente errado — sem regra de mock e sem tocar no servidor. Edite, continue e veja o app reagir.
- 07
Repita com Resend e itere
Na barra de ações de qualquer requisição capturada, Resend a reemite como está a partir do dispositivo ou do proxy e marca a nova captura como reenviada. Edit and Resend abre um modal para ajustar antes o método, a URL, os cabeçalhos ou o corpo. Marcadores entre chaves duplas na URL, nos cabeçalhos ou no corpo são resolvidos com as variáveis de ambiente do dispositivo logo antes de a requisição sair — então você pode repetir uma chamada com um token novo sem colar o segredo. Use o filtro Resent no feed para isolar repetições dos originais, e combine as duas coisas: pause uma requisição, copie-a e use Edit and Resend com variações até a resposta ser a que você procurava.
O que pode
Se nada pausa, o padrão está casando com algo que não consegue ver, ou nunca foi salvo.
A requisição passa sem pausar
Confira se o host está descriptografado naquele dispositivo, se você clicou em Save patterns e se o curinga casa com o host e caminho exatos que a linha do feed mostra. Um conjunto por dispositivo sobrepõe o fallback global, então confira também qual deles o celular está usando.
A pausa sumiu antes de eu terminar de editar
Ela expirou aos sessenta segundos e o original continuou. Tenha a edição pronta — cole de uma captura anterior — e dispare a chamada de novo.
Mudar o cabeçalho Host não enviou a requisição para outro lugar
É por design: o cabeçalho é editável, mas nunca redireciona. Para atingir outro servidor, use Edit and Resend com outra URL, ou roteie a saída do dispositivo por um proxy externo.
Pause all requests congelou mais do que eu queria
É um atalho para toda requisição de saída no escopo em que você o ativou. Clique em Resume all e depois adicione um padrão de requisição estreito para o único host que importa.
A pílula de status diz que o link ao vivo caiu
Seu Continue ou Abort não consegue chegar ao dispositivo até o canal de controle reconectar. Espere a pílula se recuperar; uma pausa que expirar enquanto isso continua como o original.
Perguntas
Breakpoints funcionam no iOS sem proxy Wi-Fi?
Sim. No modo VPN o túnel no dispositivo roda o mesmo ciclo de pausar-editar-continuar dentro da extensão de rede, por Wi-Fi ou rede celular. O modo PAC roda no servidor proxy. O dashboard fica idêntico nos dois.
Posso pausar uma resposta em vez de uma requisição?
Sim — padrões de resposta seguram a resposta do servidor antes de o app vê-la, então você pode editar status, cabeçalhos ou corpo e observar como o app lida com isso.
E se eu quiser que a mudança aconteça automaticamente toda vez?
Isso é uma regra de bloqueio ou um script, não um breakpoint: uma regra responde sozinha a cada correspondência, um script reescreve os bytes por requisição. Breakpoints são para os casos em que você quer decidir a cada vez.
Pare a requisição,
Um padrão, uma pausa, uma edição — e o celular na sua mão recebe exatamente a requisição ou resposta que você queria testar.