Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > Перенаправление запроса.


Автор: grimMentor 22.10.2007, 12:48
Уважаемые коллеги, помогите найти выход из ситуации.


Ситуация: 
Данные, отсылаемые по методу POST от первого сервиса - терминал, 
необходимо преобразовывать в иной формат, 
после чего отсылать их по методу GET второму сервису - "биллинговому ПО".

Был написан простой скрипт, который является посредником между терминалом и биллинговым ПО. 
Все бы хорошо - данные принимаются, преобразовываются, но одна проблема -- не отсылаются скриптом-посредником в "биллинговое ПО". 

//  Это данные, которые приходят от первого сервиса - терминал.
$str=$HTTP_RAW_POST_DATA;

// функция поиска необходимых данных
function match($pattern,$content){
    if(preg_match($pattern,$content,$match)) {
        if(isset($match[1]))    {
            if(is_numeric($match[1]))
                return $match[1];        
        }
    }
}

$number=match('/NUMBER=(\d+)/',$str);
$comment=match('/COMMENT=(\d{0,14})/',$str);
$receiptsession=match('/SESSION=(\d{0,14})/',$str);
$amount=match('/AMOUNT=(\d+\.\d{2})/',$str);
$curtime=date("Y-m-d\TH:i:s");    


$url='';
$url.="http://www.urltest.ru/test.php";
$url.="?action=payment";
$url.="&number=".$number."";
$url.="&amount=".$amount."";
$url.="&receipt=".$receiptsession."";
$url.="&date=".$curtime."";

// Данная строка, "по идее" должна перенаправлять на сформированный url
header("Location: ".$url."");        


Проблеип в том, что если вызвать сам скрипт-посредник напрямую, т.е. непосредственно обратиться к скрипту посредством браузера, то перенаправление происходит, если же обратиться к скрипту из терминала, то перенаправления нет, при этом было выяснино с помощью "сниффера", что обмен происходит между терминалом и скриптом-посредником, а дальше тишина, т.е. перенаправления не просиходит на биллинговое ПО.



С уважением, Сергей.
 

Автор: Anarki 9.11.2007, 19:45
Может терминал не понимает перенаправлений?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)