How to handle URL with special characters present

2019-07-05 19:00发布

问题:

I have the following format in URL.

http://username:password@test.nabin.com/some/url

Here password is something like qDTA*$X)ME/74. When I directly use this password in URL, then the postman does not respond. How should I proceed testing this url?

(In the image the response container is plain white without any error. This indicates, the API was never hit)

回答1:

You can manually encode parts of the URL within the application. These are the docs from version 6.

https://www.getpostman.com/docs/v6/postman/sending_api_requests/requests

Under the URL section:

“Note: Parameters you enter in the URL bar or in the data editor will not automatically be URL-encoded. Right click a piece of selected text, and select “EncodeURIComponent” to manually encode the parameter value.”



回答2:

For the time being, I will share how I handled this. I used two lines of python script for quoting the password and using the output in the postman.

>>> from urllib.parse import quote_plus
>>> quote_plus('qDTA*$X)ME/74')
'qDTA%2A%24X%29ME%2F74'

Then I simply used this quoted password to construct the following new URL:

http://username:qDTA%2A%24X%29ME%2F74@test.nabin.com/some/url

Hopefully someone comes here and answers how we should do it properly.