Imposta un breakpoint
Metti in pausa una richiesta o una risposta di un telefono reale a metà strada, modifica l'HTTP grezzo nella dashboard e lasciala continuare — oppure interrompila. Funziona su iOS in modalità VPN e PAC, su Android tramite il proxy e in un Chrome catturato.
Osservare il traffico ti dice cosa ha inviato l'app. Un breakpoint ti permette di cambiarlo prima che arrivi. Quando una richiesta o una risposta corrisponde a un pattern che hai impostato, viene trattenuta — sul telefono stesso in modalità VPN di iOS, dentro il tunnel, oppure sul server proxy per iOS in modalità PAC, Android e browser — e compare nella dashboard come pausa live con un editor per l'HTTP grezzo. Modifichi, poi decidi: continuare con o senza le tue modifiche, oppure interrompere.
La dashboard è la cabina di comando in ogni caso; il telefono non va mai toccato. I pattern sono semplici caratteri jolly host più percorso, un pigliatutto a un clic mette in pausa tutto, e una pausa dimenticata scade da sola, così un breakpoint da cui ti sei allontanato non può mai bloccare per sempre il traffico del telefono.
Cosa ti
Un telefono che sta già catturando e l'host che vuoi mettere in pausa decifrato su di esso.
Un telefono associato con la cattura attiva — iOS in una delle due modalità, oppure Android tramite il proxy.
L'host nella lista SSL proxy di quel dispositivo. Un pattern con percorso richiede un host decifrato; un host cifrato può corrispondere solo per nome.
La dashboard aperta e circa sessanta secondi di attenzione per pausa — è questo il timeout.
Facoltativamente, una variabile d'ambiente con un token fresco, per ripetere una chiamata senza incollare il segreto.
Fallo
Sette passaggi: decifrare, impostare il pattern, attivare, modificare, decidere, poi il lato risposta e la ripetizione.
- 01
Decifra prima l'host
Trova nel feed una richiesta reale verso l'endpoint e conferma che il body sia leggibile. In caso contrario, aggiungi l'host alla lista SSL proxy del dispositivo e riattiva la chiamata — su iOS in modalità VPN, spegni e riaccendi il tunnel così che recepisca la nuova lista. I breakpoint corrispondono su host e percorso, e il percorso esiste solo per un host decifrato.
- 02
Aggiungi un pattern di richiesta e salvalo
Apri la pagina Breakpoints dal menu delle impostazioni. Aggiungi un pattern di richiesta per mettere in pausa una richiesta in uscita prima che raggiunga il server, oppure un pattern di risposta per mettere in pausa la risposta prima che l'app la veda — la stessa sintassi di caratteri jolly host più percorso delle regole di blocco. Fai clic su Save patterns per inviarli al percorso di cattura. I pattern per dispositivo stanno sotto il dispositivo, poi Breakpoints; l'insieme globale è il fallback per ogni dispositivo.
Hai fretta? Pause all requests è un pigliatutto a un clic che mette in pausa ogni richiesta in uscita senza alcun pattern. Resume all lo annulla.
Due pattern — uno per il lato richiesta, uno per il lato risposta 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
Attiva la chiamata dal telefono
Usa l'app. Quando una richiesta corrisponde, si ferma — dentro l'estensione tunnel di iOS in modalità VPN, sul server proxy altrimenti — e compare sotto Live pauses nella dashboard, con un badge di stato che conferma che il collegamento live è sano. Per l'app è solo una rete lenta.
- 04
Modifica l'HTTP grezzo
Scegli la pausa e modifica la richiesta nell'area di testo: metodo, percorso, header e body. La lunghezza del contenuto viene ricalcolata automaticamente, quindi non devi mai contare i byte. L'header Host è modificabile ma non reindirizza la richiesta — cambia ciò che il server vede, non dove va la richiesta.
Come appare una richiesta in pausa nell'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
Continua, interrompi o ripristina — entro sessanta secondi
Continue lascia procedere la richiesta, con o senza le tue modifiche. Abort la scarta, quindi l'app vede un errore. Reset butta via le tue modifiche e ripristina l'originale catturato. La tua decisione viaggia fino al dispositivo proprietario della pausa sul canale di controllo live; se nessuno decide entro sessanta secondi, la pausa scade da sola e la richiesta originale passa, così un breakpoint lasciato incustodito non blocca mai il telefono per sempre.
- 06
Metti in pausa anche il lato risposta
Un pattern di risposta trattiene la risposta del server prima che l'app la riceva. È così che testi cosa fa l'app con un campo che il server non invia mai, uno stato che non restituisce mai o un body leggermente sbagliato — senza regola di mock e senza toccare il server. Modifica, continua e guarda come reagisce l'app.
- 07
Ripeti con Resend e itera
Dalla barra delle azioni di qualsiasi richiesta catturata, Resend la rimanda così com'è dal dispositivo o dal proxy e contrassegna la nuova cattura come reinviata. Edit and Resend apre una finestra per ritoccare prima metodo, URL, header o body. I segnaposto tra doppie graffe in URL, header o body vengono risolti con le variabili d'ambiente del dispositivo appena prima che la richiesta parta — così puoi ripetere una chiamata con un token fresco senza incollare il segreto. Usa il filtro Resent nel feed per isolare le ripetizioni dagli originali, e combina le due cose: metti in pausa una richiesta, copiala, poi usa Edit and Resend con varianti finché la risposta non è quella che cercavi.
Cosa può
Se nulla va in pausa, il pattern sta corrispondendo a qualcosa che non può vedere, oppure non è mai stato salvato.
La richiesta passa senza fermarsi
Controlla che l'host sia decifrato su quel dispositivo, che tu abbia fatto clic su Save patterns e che il carattere jolly corrisponda esattamente a host e percorso mostrati nella riga del feed. Un insieme per dispositivo prevale sul fallback globale, quindi controlla anche quale sta usando il telefono.
La pausa è sparita prima che finissi di modificare
È scaduta a sessanta secondi e l'originale è proseguito. Tieni pronta la modifica — incollala da una cattura precedente — e riattiva la chiamata.
Cambiare l'header Host non ha inviato la richiesta altrove
È voluto: l'header è modificabile ma non reindirizza mai. Per raggiungere un altro server, usa Edit and Resend con un URL diverso, oppure instrada l'uscita del dispositivo attraverso un proxy esterno.
Pause all requests ha bloccato più del previsto
È un pigliatutto per ogni richiesta in uscita nell'ambito in cui l'hai impostato. Fai clic su Resume all, poi aggiungi un pattern di richiesta ristretto per l'unico host che ti interessa.
Il badge di stato dice che il collegamento live è giù
Il tuo Continue o Abort non può raggiungere il dispositivo finché il canale di controllo non si riconnette. Aspetta che il badge si riprenda; una pausa che scade nel frattempo prosegue come l'originale.
Le domande
I breakpoint funzionano su iOS senza proxy Wi-Fi?
Sì. In modalità VPN il tunnel sul dispositivo esegue lo stesso ciclo pausa-modifica-continua dentro l'estensione di rete, via Wi-Fi o rete cellulare. La modalità PAC lo esegue sul server proxy. La dashboard è identica in entrambi i casi.
Posso mettere in pausa una risposta invece di una richiesta?
Sì — i pattern di risposta trattengono la risposta del server prima che l'app la veda, quindi puoi modificare stato, header o body e osservare come se la cava l'app.
E se voglio che la modifica avvenga automaticamente ogni volta?
Quella è una regola di blocco o uno script, non un breakpoint: una regola risponde da sola a ogni corrispondenza, uno script riscrive i byte per richiesta. I breakpoint servono per i casi in cui vuoi decidere ogni volta.
Ferma la richiesta,
Un pattern, una pausa, una modifica — e il telefono che hai in mano riceve esattamente la richiesta o la risposta che volevi testare.