Доброго времени суток, коллеги! Ситуация следующая: есть сайт, который крутится на Java-сервере. Вход и аутентификация состоит из следующих этапах (следующее может показаться смешным, но это выжно): Загрузка прелоадела: определение параметров дисплея и передача через POST (это пройдено) Далее нужно пройти аутентификацию. (тут загвоздка) В чом именно загвоздка? Она в следующем, во время формирования станицы аутентификации присваисвается идентификатор, если можно назвать страницы, обращения и т.п., и он меняется при каждом обновлении страницы. После ввода логина и пароля отправляется дополнительно и это ID. А у меня не получается корректно отловить и отправить этот ID. Может будут какие-то идеи? Смотреть код ниже. Код (Text): private function getHTML_POST($sURL, $sOut='HTML') { $this->print_value("Начало POST", 'вход на сайт', ' ', 10, 100); // присваиваю параметры дисплея (могут быть любые, в пределах разумного конечно) =) $arrPost = array('client_data'=>"", 'res_h'=>"800", 'res_w'=>"600"); $ch = curl_init(); // установка URL и других необходимых параметров curl_setopt($ch, CURLOPT_URL, $sURL); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0;)"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE_PATH); curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE_PATH); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $arrPost); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // загрузка страницы и выдача её браузеру $sOUT = curl_exec($ch); //----------------------------------------------------------------------------------------------------// // в этом блоке я пробую отправить данные аутентификации // с полученным ID при сохраненныом подключении cURL... $this->print_value("Второй POST", 'аутентификация', ' ', 10, 100); $sOutHTML = $sOUT; $sRequestID = $this->getRequestID($sOutHTML); $this->print_value("<b>-></b> sRequestID[1]", $sRequestID, ' ', 25, 40); логин пароль $arrPost = array('request_id'=>"$sRequestID", 'p619889017'=>"жо", 'p_2051346805'=>"па"); curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE_PATH); curl_setopt ($ch, CURLOPT_COOKIEFILE, COOKIE_FILE_PATH); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $arrPost); // загрузка страницы и присвоим ее в переменную $sOUT $sOUT = curl_exec($ch); $sOutHTML = $sOUT; $sRequestID = $this->getRequestID($sOutHTML); $this->print_value("<b>-></b> sRequestID[2]", $sRequestID, ' ', 25, 40); $this->print_value("Конец POST", 'просмотр информации', ' ', 10, 100); //----------------------------------------------------------------------------------------------------// if(strtoupper($sOut) == strtoupper('text') ) { $sOUT = htmlspecialchars($sOUT); } // $this->print_arr(curl_getinfo($ch), 'curl_getinfo'); // завершение сеанса и освобождение ресурсов curl_close($ch); return $sOUT; } // данная функция возвращает ID private function getRequestID($sHTML) { $this->objXML = new DOMDocument(); $this->objXML->loadHTML($sHTML); $sAttrValue = 'request_id'; $objElemList = $this->objXML->getElementsByTagName('input'); if(count($objElemList) != 0) { foreach ($objElemList as $param) { if($sAttrValue == $param->getAttribute('id')) { $sTagValue = $param->getAttribute('value'); } // $this->print_value("ID", $param->getAttribute('id'), ' ', 25, 50); // $this->print_value("Name", $param->getAttribute('name'), ' ', 25, 50); // $this->print_value("Value", $param->getAttribute('value'), ' ', 25, 50); // echo '<br>'; } } unset($this->objXML); // убиваем, чтобы не мешался return $sTagValue; } Получается (ID) sRequestID[1] и sRequestID[2] всегда разные :cry: при том, что отправляю POST"ы во время одного "сеанса" cURL... Заранее всем благодарен!