c# - 将 Twilio 的字符串转换为 "URL Safe"字符串

标签 c# url twilio

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

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

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

上面的 URL 作为 API 中的参数非常有效,如果您使用浏览器查看输出,则显然也有效。

我还可以在浏览器中查看以下内容,并且工作正常,但此版本的 URL 作为 Twilio API 的参数失败

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

为了便于阅读和调试,我非常更喜欢使用第二个 URL。 C# 中是否有库或其他方式可以将第二个漂亮的 URL 转换为第一个,用“<”字符替换 %3C 等等?然后,我可以在将其发送到 API 之前进行替换,因为我的应用程序会四处推送并将漂亮的版本存储在其他地方。我当然可以自己写一个来进行转换,但这似乎是一个常见问题。谢谢!

最佳答案

这可能是您正在寻找的东西吗?

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

关于c# - 将 Twilio 的字符串转换为 "URL Safe"字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14574695/

相关文章:

c# - iTextSharp Image.GetInstance 的 EMF 格式内存流

c# - 列出具有交替颜色的项目

c# - 由于不区分大小写的 URL 和默认值,如何避免 ASP.NET MVC 中的重复内容?

google-chrome - 在 Google Chrome 中复制西里尔文 URL?

java - Twilio SMS 和树莓派入门

c# - 性能问题 - 取消订阅事件

python - 更改列表中的字符 Python Flask

javascript - ui-sref 从 Controller 传递参数

Twilio - X-Twilio-Signature - 传入请求验证

json - Twilio webhook 短信响应格式