Breakpoint for iOS Tutorial
Last updated
Last updated
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
Already downloaded the latest version of Proxyman on AppStore: https://apps.apple.com/us/app/proxyman/id1551292695
Already installed and trusted Proxyman Certificate on iOS device (If you’re new to Proxyman, please follow this tutorial on how to start intercepting HTTP traffic on your iPhone).
There are 3 ways that we can define a Breakpoint rule:
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.
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).
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.
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.
We can freely manipulate the HTTP Method, URL, and Query,. The URL will be auto-updated as the queries change and vice versa.
If we alternate the Body with a new data type, Proxyman will auto-detect the Content-Type and update Headers for us.
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.
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.