HTTP: Fix HTTP step URLs not supporting some characters
complete
Quentin
When URL contains a special character like « é », Integromat returns a 400 Bad Request. The URL is valid though.
The norm now says that those characters should be displayed as is but encoded in the stream. It’s what all my browsers are doing. And typeform is sending me URLs formatted this way too so I had to splt my URL along '/' to escape it using encodeURI().
Hope this can be fixed.
-------------------------------------------
SOLUTION:
URL can contain only URI characters (US-ASCII). Therefore, the percent-encoding aka URL encoding was implemented.
In order to send characters not available in the URI list of characters, you need to use the encodeURL() function.
Log In
Tereza Klobouckova
marked this post as
complete
Dear Makers,
The newly released HTTP (v4) app correctly encodes characters in the URL, ensuring full compliance with HTTP specifications.
Give it a try and let us know what you think. We’d love to hear your feedback on the new experience.
Resources:
📚 Get started with our technical guide: https://www.make.com/en/help/app/http
📝 Read the full release notes: https://help.make.com/new-http-app-is-now-available
Happy Automating!
Tereza
The Make Team
Quentin
This answer is not really satisfying though. I received a full URL from a provider. This URL worked when used in my browser, CURL, or anything else. Because they comply with RFC 3986 that suggest auto encoding the URL part. If I use encodeURL() on it, it will also encode :// in http://. That is not going to work at all. I had to use a shitty work around to cut the URL and encode only the right part.
This is now fixed though.
Someone at Integromat added this very convenient "Serialize URL" option that does exactly what I needed.
Tereza Klobouckova
URL can contain only URI characters (US-ASCII). Therefore, the percent-encoding aka URL encoding was implemented.
In order to send characters not available in the URI list of characters, you need to use the encodeURL() function.