Breakpoint for iOS Tutorial

Modify HTTP(s) Request & Response on your iPhone with Proxyman Breakpoint Tool

Since version 2.0.0, Proxyman has introduced a new feature that enables developers to manipulate the Request & Response data on the fly without changing any logic from your client.

This mini tutorial demonstrates how we can modify HTTP(s) Requests/Responses on iOS devices with Proxyman Breakpoint Tool, for example:

  • Modify the Request URL (including the Scheme, Host, Path, Port) and HTTP Method

  • Modify HTTP Headers of Request/Response

  • Modify Query from Requests

  • Modify HTTP Body of Request/Response

  • Modify Response HTTP Status Code

Prerequisites

Create Breakpoint Rules

There are 3 ways that we can define a Breakpoint rule:

  1. From Setting screen

  • Go to Setting → Breakpoint → Tap on the + button.

  • From here we will need to manually fill in all required fields for the Rule, including Title, Method, Matching URL, and include Subpaths or not.

  • We are also able to select if this rule is applied for upcoming Requests, Responses or both.

  1. From "Waiting Breakpoint" screen

  • Tap on Waiting Breakpoint icon → Create Breakpoint Rule.

  • Then we will need to manually create the Rule (similar to the previous option).

  1. From the Menu context

  • Long tap on the Request → Add to Breakpoint List.

  • It will automatically fill in all fields to define the Rule based on the selected Request.

In this example, the Breakpoint Rule will apply to both upcoming Requests/ Responses. Let’s make a Request to see how it works.

Modify HTTP(s) Requests

Once we make a Request with the matching URL, Proxyman will stop it and notify us that there are waiting breakpoints. From the Home screen, we can tap the small icon to see the waiting Breakpoint list and select a Breakpoint to start modifying the Request Content.

Modify URL + Method

We can freely manipulate the HTTP Method, URL, and Query,. The URL will be auto-updated as the queries change and vice versa.

Modify Body

If we alternate the Body with a new data type, Proxyman will auto-detect the Content-Type and update Headers for us.

Execute, abort, continue Breakpoint

When you're happy with the change, you can execute the Request/ Response by selecting the option from the top right menu. To keep the original Request, you can use the Continue button or cancel it with the Abort option.

Since our Breakpoint rule is applied for both Request and Response, you will find the Response added to waiting breakpoints list once you hit the “Execute” button.

Now you can change the HTTP Status Code, update Headers or alternate the Body with new content for Response (similar to modifying Request Breakpoint)

Nicely done! If you look into the flow list, you will find a small blue icon to indicate that this flow has been modified.

As you can see, both the Request and Response content has been updated as expected.

NOTES:

  • When you create a new rule, both Breakpoint Tool and Rule will be enabled by default (you can switch it ON/OFF as needed).

  • Make sure to check the VPN status (1), the Breakpoint Tool status (2), and the Breakpoint Rule status (3) are all ENABLED so that the Breakpoint Tool can work.

  • If the first rule matches the Requests/ Responses, other rules will not be applied.

  • As you’re editing the Request, the Response tab will be disabled. As you’re editing the Response, the Request tab will be displayed in read-only mode.

What’s next

Breakpoint allows you to modify the Request/Response on the fly, but it requires a lot of manual works. If you'd like to make it automated, you might check out our Map Local tool tutorial to automatically map a local file as a Response.

Last updated