Как получить параметр запроса в XML-файле - PullRequest
1 голос
/ 25 июня 2019

У меня есть один callForward.xml файл, в котором есть такой код, и я хочу заменить {{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>';

но выдает ошибку Ошибка - 12100 Ошибка разбора документа

ПРИМЕЧАНИЕ Невозможно редактировать файл после запроса URL-адреса.Третья часть Twilio будет читать этот файл

Ответы [ 2 ]

0 голосов
/ 25 июня 2019

Я нашел решение от приложения 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}} значение enter image description here

0 голосов
/ 25 июня 2019

XML - статический формат; если вы хотите, чтобы вывод XML содержал динамический контент, то вы должны написать серверный скрипт, который отвечает на параметры запроса и выводит текст 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>
...