如何获取xml文件中的请求参数
How to get request parameter in xml file
我有一个 callForward.xml
文件,其中有一些这样的代码,我想通过调用 url 将这个 {{PhoneNumber}} 替换为真实号码:
https://example.com/callForward.xml?PhoneNumber=+911234567890,
请建议如何在 xml 文件中获取它?
提前致谢
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>{{PhoneNumber}}</Dial>
<Say>Hello, Have a good day!</Say>
</Response>
此文件的用途是拨打我尝试使用 .php 文件的动态号码,如下所示
<?php echo '<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>'.$_REQUEST['PhoneNumber'].'</Dial>
<Say>Goodbye</Say>
</Response>';
但它给出了一个错误 Error - 12100 Document parse failure
注意 请求 url 后无法编辑文件。 Twilio 第三部分将读取此文件
XML是静态格式;如果您希望 XML 输出包含动态内容,那么您必须编写一个 server-side 脚本来响应查询参数并动态输出 XML 文本。我假设您正在使用 PHP 因为它已在您的问题中标记。但是您必须注意验证输入,以免有人提供无效和恶意的参数。
例如,您可以在 call_forward.php
中使用以下代码(注意 .php
,而不是 .xml
):
<?php
$number = @$_GET['PhoneNumber'];
if (!preg_match('|\+?[0-9- ]+|', $number))
die('Invalid PhoneNumber');
header('Content-type: text/xml');
?><?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial><?php echo $number; ?></Dial>
<Say>Hello, Have a good day!</Say>
</Response>
我已通过 Twimil Bin 应用程序找到解决方案
https://support.twilio.com/hc/en-us/articles/230878368-How-to-use-templates-with-TwiML-Bins
创建 Twimil bin 应用程序并复制 URL 并传递您想要动态添加的任何内容
赞:https://handler.twilio.com/twiml/EHb1d23ebc567f87f6a211d48d7abe?PhoneNumber=+91123456789
它将替换 {{PhoneNumber}}
值
我有一个 callForward.xml
文件,其中有一些这样的代码,我想通过调用 url 将这个 {{PhoneNumber}} 替换为真实号码:
https://example.com/callForward.xml?PhoneNumber=+911234567890,
请建议如何在 xml 文件中获取它?
提前致谢
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>{{PhoneNumber}}</Dial>
<Say>Hello, Have a good day!</Say>
</Response>
此文件的用途是拨打我尝试使用 .php 文件的动态号码,如下所示
<?php echo '<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>'.$_REQUEST['PhoneNumber'].'</Dial>
<Say>Goodbye</Say>
</Response>';
但它给出了一个错误 Error - 12100 Document parse failure
注意 请求 url 后无法编辑文件。 Twilio 第三部分将读取此文件
XML是静态格式;如果您希望 XML 输出包含动态内容,那么您必须编写一个 server-side 脚本来响应查询参数并动态输出 XML 文本。我假设您正在使用 PHP 因为它已在您的问题中标记。但是您必须注意验证输入,以免有人提供无效和恶意的参数。
例如,您可以在 call_forward.php
中使用以下代码(注意 .php
,而不是 .xml
):
<?php
$number = @$_GET['PhoneNumber'];
if (!preg_match('|\+?[0-9- ]+|', $number))
die('Invalid PhoneNumber');
header('Content-type: text/xml');
?><?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial><?php echo $number; ?></Dial>
<Say>Hello, Have a good day!</Say>
</Response>
我已通过 Twimil Bin 应用程序找到解决方案
https://support.twilio.com/hc/en-us/articles/230878368-How-to-use-templates-with-TwiML-Bins
创建 Twimil bin 应用程序并复制 URL 并传递您想要动态添加的任何内容
赞:https://handler.twilio.com/twiml/EHb1d23ebc567f87f6a211d48d7abe?PhoneNumber=+91123456789
它将替换 {{PhoneNumber}}
值