10

これは 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>

読みやすさとデバッグのために、2 番目の URL を使用することを強くお勧めします。%3C を '<' 文字などに置き換えて、2 番目のきれいな URL を最初の URL に変換する C# のライブラリまたはその他の方法はありますか? 私のアプリはきれいなバージョンをプッシュして他の場所に保存するので、API に送信する直前に置換を行うことができます。もちろん、変換を行うために自分で作成することもできますが、これはよくある問題のようです。ありがとう!

4

1 に答える 1

25

これはおそらくあなたが探しているものですか?

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
于 2013-01-29T02:40:14.217 に答える