将字符串转换为Twilio的“URL Safe”字符串

时间:2013-01-29 02:28:50

标签: c# url twilio

这不是Twilio特有的,但问题确实导致Twilio API调用失败..

我想通过Twilio的实验室生成XML文件:

http://twimlets.com/echo?Twiml=%3CResponse%3E%3CSay%3EHi+there.%3C%2FSay%3E%3C%2FResponse%3E

以上网址非常适合作为API中的参数,如果您使用浏览器查看输出,这显然有效。

我也可以在浏览器中查看以下内容,它运行正常,但此版本的URL无法作为Twilio API的参数

http://twimlets.com/echo?Twiml=Response><Say>Hi+there.</Say></Response>

为了便于阅读和调试,我很多更喜欢拥有第二个URL。在C#中是否有库或其他方式将第二个漂亮的URL转换为第一个,用'&lt;'替换%3C人物等等?然后,我可以在将其发送到API之前立即进行替换,因为我的应用程序推送并在其他地方存储漂亮的版本。我当然可以自己写一个来进行转换,但似乎这是一个常见的问题。谢谢!

1 个答案:

答案 0 :(得分:15)

这可能是你在找什么?

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);
}

输出 - 非转义字符串:

http://twimlets.com/echo?Twiml=<Response><Say>Hi+there.</Say></Response>

恢复正常:

string encoded = Uri.EscapeDataString(decoded);

输出 - 转义字符串:

http://twimlets.com/echo?Twiml=%3CResponse%3E%3CSay%3EHi+there.%3C%2FSay%3E%3C%2FResponse%3E