For my particular job, and when dealing with private APIs in general, this allows me to write stronger code for my requests and find requests that prevent me from bombing the server. If your API does not send JSON, you can also choose to show Form instead of text. You will get a window where you can edit your request. You can also Edit and Repeat a request ( Flow menu or Option + Cmd + Enter). This will repeat the request you have highlighted with no modifications whatsoever. To Repeat a request, go the Flow menu or press Cmd + Enter. When you are debugging and working with your backend team at the same time, it could be useful to repeat a request without having to relaunch your app. The most basic advanced feature is repeating a request. They are very easily accessible and easy to use. Proxyman offers some features that makes it very valuable when it comes to debugging networking. Now relaunch a request, and take a look at the panel below. Next time when they launch, the certificate will be installed, and you will be able to intercept networking calls.
Click the “Install Certificate” button to show a window where you can install the certificate on the simulators with a simple click. Proxyman automatically knows the request came from the simulator. Open the request you just re-did and look to the bottom-right. To fix this, we now need to install the matching key on the simulators. Now the app will refuse to run as it (rightfully) thinks someone else is trying to act as them. Once you re-run the request, you will find that you are not quite ready yet. Simply repeat an action on the app that would trigger a request.
Once you install the certificate, proxyman will prompt you to run the request again. There is no tool that can currently do this. Do note that Proxyman cannot intercept calls when dealing with certificate pinning. This is necessary in order to decrypt HTTPS traffic. Once you click either button you will be prompted to install and trust Proxyman’s certificate. To the bottom-right we will have the options to enable proxying, either all the domains of the app, or just that specific domain.
To the bottom-left we have views where we can choose if we want to see our headers sent, our requests, or the server responses.īecause the app is using HTTPS, we cannot observer any traffic yet. The basic use for a proxy tool like this is we want to observer the requests we do, and the requests we make. In this case of Next Anime Episode, we will intercept calls that come from the Anilist domain.
Feel free to use your own app, or you can use this one when install it on your phone. We will first set it up to work with the iOS Simulator.įor this article, I will be proxying my own app, Next Anime Episode. When you launch Proxyman, you will see a window that shows all the network calls going on in your system. Proxyman is available through Homebrew, so if you already have Homebrew installed, you simply need to type the following in a Terminal window: brew install proxyman I also make the promise that, shall this become a more common occurrence in the future, my website will see two new posts weekly: One post for the product, and my usual weekly article. On, I make the promise to disclose whenever I have been asked to write about a certain product, and I will only write about said product if I like it. I personally find Proxyman easier to use, but mitmproxy is not a bad alternative by any means. mitmproxy is a free and open source alternative to Proxyman. Including mitmproxy, for which I have an article on here. If you need to intercept network calls and you can’t or don’t want to pay, there are some alternatives available. I think that proxy tools are important, and while we have some established tools, I genuinely like Proxyman. In turn I’d write at least one article about the program.
I was reached out by the team at Proxyman and they gave me a full year license. What happens if the service goes down and sends unexpected responses? Or if your app loses internet connection? Using a proxy to intercept network calls will help us answer these questions. Working with APIs is both easy and tricky due to all the implications behind the scenes. You also often worry about whether the web service returns whatever it promises it will return. You oftentimes have to ask yourself if your app is sending and receiving the expected information. Working with network APIs can be tricky, especially when debugging. Intercepting iOS Network Request Calls with Proxyman