This isn't Twilio specific, but the issue does cause the Twilio API call to fail..
I'm wanting to generate an XML file via Twilio's lab:
http://twimlets.com/echo?Twiml=%3CResponse%3E%3CSay%3EHi+there.%3C%2FSay%3E%3C%2FResponse%3E
The above URL works great as a parameter in the API and obviously works if you use your browser to view the output.
I can also view the following in the browser, and it works fine, but this version of the URL fails as a parameter to the Twilio API
http://twimlets.com/echo?Twiml=Response><Say>Hi+there.</Say></Response>
For readability and debugging I would much prefer to have the second URL. Is there a library or other way in C# to convert the second, pretty URL to the first, replacing %3C with the '<' character and so on? I could then just do the replacement right before I send it off to the API since my app pushes around and stores the pretty version everywhere else. I can of course write one myself to do the conversion, but it seems like this would be a common problem. Thanks!
Is this perhaps what you are looking for?
private void Form1_Load(object sender, EventArgs e)
{
string encoded = "http://twimlets.com/echo?Twiml=%3CResponse%3E%3CSay%3EHi+there.%3C%2FSay%3E%3C%2FResponse%3E";
string decoded = Uri.UnescapeDataString(encoded);
}
Output - Unescaped string:
http://twimlets.com/echo?Twiml=<Response><Say>Hi+there.</Say></Response>
And back to normal:
string encoded = Uri.EscapeDataString(decoded);
Output - escaped string:
http://twimlets.com/echo?Twiml=%3CResponse%3E%3CSay%3EHi+there.%3C%2FSay%3E%3C%2FResponse%3E
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With