Автор Тема: Ответ на POST запрос.  (Прочитано 2676 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн geek111

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ответ на POST запрос.
« : 29 Мая 2008, 21:48:25 »
Доброго время суток!
Возникла такая проблема:
 Пишу скрипт, который взаимодействутет с другим web-сервисом. На мой скрипт приходить POST запрос с XML, я отправляю ответ XML, далее отправляю свой запрос, накоторый получаю овет XML. На другой стороне используеться программа написанная на Visual Basic. Так вот сама проблема заключается в том что мой ответ на POST запрос приходит не в той же сессии, а отдельно, тоесть уходит в никуда.


$a = base64_decode( substr($_SERVER["HTTP_AUTHORIZATION"],6)) ;
if ( (strlen($a) == 0) || ( strcasecmp($a, ":" )  == 0 ))
{
   header( \'WWW-Authenticate: Basic realm="Private"\' );
   header( \'HTTP/1.0 401 Unauthorized\' );
 
}
else
{
   list($name, $password) = explode(\':\', $a);
   $_SERVER[\'PHP_AUTH_USER\'] = $name;
   $_SERVER[\'PHP_AUTH_PW\']    = $password;
if ($_SERVER[\'PHP_AUTH_USER\']==$admname && $_SERVER[\'PHP_AUTH_PW\']==$pass)
{
//-----------------------------------------------------------------------------------------------------------

$xmlpacket="

Accepted
";
$contentlength = strlen($xmlpacket);


header (\'Connection: Keep-Alive\');
header (\'Content-type: application/xml\');
header ("Content-length: $contentlength");
echo $xmlpacket;



$xml_text = $HTTP_RAW_POST_DATA;

$l=strpos($xml_text, " $l1 = strpos($xml_text, ">", $l);
$xml_text = substr_replace($xml_text, \'\', $l, $l1-$l+1);

$xml_parser = new Parser;
$xml_parser->parse($xml_text);

if ($xml_parser->error_string!=""){echo $xml_parser->error_string;}
else{




//------------------------ЗДЕСЬ ОБРАБОТКА ОТПАРСЕНОГО XML-----------------------------


$fp = fsockopen($ip, 80, $errno, $errstr, 30);
if (!$fp)
{
echo \'Could not open connection.\';
}
else
{
$xmlpacket ="КАКОЙТО XML";

$contentlength = strlen($xmlpacket);

$out = "POST ".$spath." HTTP/1.0\\r\\n";
$out .= "Host: ".$ip."\\r\\n";
$out .= "Connection: Keep-Alive\\r\\n";
$out .= "Content-type: application/xml\\r\\n";
$out .= "Content-length: $contentlength\\r\\n\\r\\n";
$out .= "$xmlpacket";

//echo $out;

fwrite($fp, $out);


while (!feof($fp))
{
$theOutput .= fgets($fp);
}
fclose($fp);

//-------------ОБРАБОТКА ОТВЕТА


}


}

//-----------------------------------------------------------------------------------------------------------
}
else
{
echo "Wrong login or password";

}


}
?>


Вобщем перерыл пол инета в поисках как правильно сформировывать ответы на POST запрос и ничего толком не нашел. Может кто знает в чем тут дело? Заранее благодарен...

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Ответ на POST запрос.
« Ответ #1 : 10 Июня 2008, 20:48:02 »
CURL Вам в помощь!

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28