Map Remote
Last updated
Last updated
Map Remote (⌘⌥R) would help the developer to change the HTTP Request's location to a new destination server, per the configured rules, so the HTTP Response is transparently served from your client.
Map Remote also supports mapping from HTTP to HTTPS and vice-versa
Check out common Map Remote Config when mapping from HTTP <-> HTTPS.
From Proxyman 4.3.0: Map Remote supports Websocket and Secure Websocket.
Use Production Endpoints on your Development website on certain endpoints without changing the source code
Use Development Endpoints on your Production website
Change certain request's URLs to different destinations
Able to replace requests components, such as Protocol, Host, Port, Path, or Query on the fly
To boost your productivity, you can use the Scripting feature that allows you to achieve the same result as Map Remote by writing simple Javascript Code
For instance, Snippet code to change Production to Localhost server
From Proxyman 2.27.0+, Map Remote can work with GraphQL Request by a specific QueryName. Please check out the following GraphQL Document.
GraphQLIf you get difficult to set up a complicated Map Remote Rule, you might easily do it by using the Scripting Tool.
Please check out Map Remote Snippet Code to learn how to use Scripting to achieve the same result as Map Remote.
For instance, it's straightforward to do the following by Scripting:
Map v1 to v2 endpoints
Map Production to Localhost
Map Localhost to Production
...
Proxyman supports Regular Expression and Wildcard from the 2.3.0 version. Check out here
We can define matching rules by using Wildcard or Regular Expression.
For matched requests, Proxyman attempts to:
Replace Protocol, Host, Port, Path, and Query if it available
If the component is empty, it won't change the matched request's component
Leave the Text Field blank to keep it unchanged from the matched request
The wildcard is not allow
To determine what Map Remote matches your URL, you can open The Request -> Summary Tab:
Select your request
Summary Tab -> Debugging Tools
Check the Map URL
By default, Proxyman attempts to override the Host Header to match with the new Host in Remote Map. It's crucial to successfully make a request.
If you would like to preserve the original Host Header, please check ON in the "Preserve Host Header" checkbox when creating a new entry. Proxyman will preserve the Host value.
Right Click on selected Request -> Tools -> Map Remote: Proxyman will fill in the necessary data from the selected request
Result:
Original URL | To URL |
---|---|
http://localhost:3000 | https://proxyman.io |
http://localhost:3000/pricing | https://proxyman.io/pricing |
http://localhost:3000/v1/user?id=123&name=proxyman | https://proxyman.io/v1/user?id=123&name=proxyman |
POST http://localhost:3000/login | POST https://proxyman.io/login |
Original URL | To URL |
---|---|
https://proxyman.io | http://localhost:3000 |
https://proxyman.io/v1/user?id=123&name=proxyman | http://localhost:3000/v1/user?id=123&name=proxyman |
POST https://proxyman.io/login | POST http://localhost:3000/login |
Rule: https://proxyman.io/v1/user (for instance)
Select Any and Wildcard
Un-Check Include all subpaths of this URL: Un-check means it doesn't map other subpaths
Map To:
Protocol: https
Host: New Host (e.g staging.proxyman.io)
Port: 443 (your local port)
Leave Path and Query Empty
Result:
Original URL | To URL |
---|---|
https://proxyman.io | https://proxyman.io (does not map the rule) |
https://proxyman.io/v2/setting | https://proxyman.io/v2/setting (does not map the rule) |
https://proxyman.io/v1/user?id=123&name=proxyman | https://staging.proxyman.io/v1/user?id=123&name=proxyman |
Original URL | To URL |
---|---|
ws://localhost:4000 | wss://ws.postman-echo.com |
ws://localhost:4000/websocket | wss://ws.postman-echo.com/websocket |
Original URL | to URL |
---|---|
wss://ws.postman-echo.com | ws://localhost:3000 |
wss://ws.postman-echo.com/websocket | ws://localhost:3000/websocket |