Interceptar y editar solicitudes en iOS con Proxyman Breakpoint
En este mini blog muestro cómo uso la herramienta Breakpoint de Proxyman para manipular esas llamadas a la API con fines de depuración.
En el desarrollo de software, un breakpoint, o punto de interrupción, es una pausa o detención intencional en la que puedes examinar y editar solicitudes o respuestas de API, e incluso decidir si las bloqueas o dejas que continúen.
1. Cuándo usar Breakpoint
Básicamente, al activar Breakpoint:
- Si activas Breakpoint para solicitudes: Proxyman detendrá la solicitud antes de que llegue a tu servidor.
- Si activas Breakpoint para respuestas: detendrá la respuesta antes de que llegue a tu app.
Así, puedes modificar esas solicitudes y respuestas para probar errores de interfaz o ciertas funcionalidades del backend (incluidas las vulnerabilidades de seguridad). En este mini blog, solo veremos 2 ejemplos sencillos para entender cómo funciona Breakpoint:
- Ejemplo 1: cambiar el término de búsqueda del usuario para ver cómo se comporta la app (modificar la solicitud)
- Ejemplo 2: cambiar el nombre y el avatar del usuario en la respuesta para ver si la interfaz puede manejar textos largos (modificar la respuesta)
2. Instalar el certificado de Proxyman en un dispositivo remoto
Antes de empezar, instalemos el certificado de Proxyman en mi dispositivo iOS para poder ver el contenido HTTPS.
Solicitudes que llegan desde mi dispositivo remoto
Para centrarme mejor, uso Pin para aislar dos endpoints, api.unsplash.com/me y api.unsplash.com/search, para mis escenarios de prueba.
Usa Pin para aislar endpoints
3. Definir reglas de coincidencia con endpoints
Ahora toca definir cómo Breakpoint captura las solicitudes salientes o las respuestas entrantes. Estas condiciones se pueden configurar de dos maneras:
Opción 1: barra de menús
Desde la barra de menús, selecciona Tools → Breakpoint → Rules

Se abre la ventana de reglas de Breakpoint para que puedas definir todas las condiciones de coincidencia. Para añadir una nueva regla, haz clic en el botón “+” de la esquina inferior izquierda de la ventana.
Se abre una ventana nueva para que puedas definir tus reglas de coincidencia para Breakpoint
En el primer escenario, escribe el endpoint “api.unsplash.com/search” y selecciona “Request” (ya que solo queremos cambiar el término de búsqueda).

Al pulsar el botón “Add”, a partir de ese momento, cualquier solicitud saliente a ese endpoint será detenida por Breakpoint.

Opción 2: clic derecho
Otra opción para definir la regla de coincidencia es seleccionar la URL (endpoint) → clic derecho → Tools → Breakpoint
Haz clic derecho en la URL → Tools → Breakpoint
Como Proxyman usa automáticamente el endpoint seleccionado como condición, verás que el endpoint “api.unsplash.com/me” se rellena solo.
Para el segundo escenario, selecciona “Response”.
El endpoint se rellena automáticamente. Puedes elegir Request o Response como condición de coincidencia.
Al pulsar “Done”, verás que la nueva regla se ha añadido a la ventana de reglas de Breakpoint.

Con todo listo, es momento de modificar solicitudes y respuestas para ver cómo se comporta nuestra app.
4. Modificar solicitudes con Breakpoint
Primero, abramos la aplicación de Unsplash. Luego, desde el cuadro de búsqueda, busca la palabra clave “eat clean” para llegar al endpoint que activa Breakpoint.
En cuanto se captura la llamada a la API, aparece la ventana de Breakpoints para que puedas editar fácilmente tus consultas.

Ahora podemos cambiar nuestra búsqueda de “eat clean” a “mountain”…
… y en lugar de mostrar las imágenes de “eat clean” de la solicitud original (izquierda), la app muestra las imágenes de “mountain” (derecha) gracias a nuestra modificación de la solicitud :)

El resultado es este:
La app muestra las imágenes de “mountain” (arriba) después de modificar la solicitud con Breakpoint
5. Modificar respuestas con Breakpoint
Ahora queremos cambiar el nombre de usuario y el avatar para ver cómo los maneja nuestra app, así que basta con volver a abrir la app de Unsplash para llamar al endpoint “api.unsplash.com/me”.
Una vez capturada la respuesta de la API, podrás editar el contenido de la respuesta de la misma forma que editas la solicitud.
El contenido original antes de nuestra modificación
Modifiquemos el nombre de usuario por uno más largo y también actualicemos el avatar.
El nuevo contenido después del cambio
Al pulsar “Execute”, verás el perfil modificado con el nuevo nombre de usuario y avatar (arriba) en lugar de los originales (abajo) :)
La app muestra el nuevo perfil (derecha) después de modificar la respuesta con Breakpoint
6. ¿Qué sigue?
Con Breakpoint puedes cambiar cualquier parte de la solicitud o respuesta de la API, pero ten en cuenta que la app podría comportarse mal o fallar si no recibe el formato correcto que espera.
¿Sabías que? Si pruebas el mismo cambio con frecuencia, una Breakpoint Template puede guardar los valores que quieres aplicar. Define a cada regla un host y una ruta concretos para que el tráfico no relacionado no se pause. Cuando termines la prueba, desactiva la regla; de lo contrario, una solicitud en segundo plano puede quedarse esperando en un breakpoint y hacer que la app parezca bloqueada.
Dicho esto, no dudes en probar esta herramienta y potenciar tu productividad.
¡Feliz depuración :)
Proxyman es una app de macOS de alto rendimiento que permite a los desarrolladores capturar e inspeccionar solicitudes HTTP/HTTPS de apps y dominios en dispositivos iOS, el simulador de iOS y dispositivos Android.
Descárgala en https://proxyman.com
