|
|
|
| Здравствуйте!
Долго пытаюсь разобраться с курлами...
т.е. схема такова: мне приходит, как я понял через курлы xml-файл. получив я отправляю ответ (опять через curl, в виде xml-файла)
не могли бы вы объяснить схему работы.
мне приходят данные $HTTP_RAW_POST_DATA - это через форму?
я принял распарсил (тут - более менее понятно), но как сформировать ответ: нужно вставлять в форму, которая автоматически делает submit или какой-то редирект?
Заранее благодарю! | |
|
|
|
|
|
|
|
для: vadimka
(16.05.2011 в 16:50)
| | >я принял распарсил (тут - более менее понятно), но как сформировать ответ: нужно вставлять в
>форму, которая автоматически делает submit или какой-то редирект?
Как я понял у вас уже есть решение отправляющее ответ через CURL, т.е. минуя формы и браузеры. Серверу все-равно откуда данные идут, от скрипта или от браузерной формы, однако вам вероятнее будет удобнее сформировать ответ через скрипт? | |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 10:01)
| | Все запутано:)
мне приходит xml как $HTTP_RAW_POST_DATA я должен распарсить и отпраить в виде xml через CURL...
во время тестирования при прогонке к самому себе данные передавались только при использовании формы.
т.е как заставить передать данные без формы
вот передающий скрипт:
$post="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<message xmlns=\"урл\"
rid=\"1288960181\">
<sin>номер абонента</sin>
<sn>короткий номер</sn>
<service>content-request</service>
<status date=\"2010-11-05 14:44:10+02\"/>
<body content-type=\"text/plain\">Текст сообщения</body>
</message>";
$url = "урл, куда отправляется/in.php ";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 6);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
curl_close($ch);
|
| |
|
|
|
|
|
|
|
для: vadimka
(17.05.2011 в 10:54)
| | Хм... помоему все нормально (так многие сервисы работают), вы получаете даные, парсите, формируете ответ в виде XML-файла и шлете его методом POST на сервер. А сервер уже сам там с ним разберется. У вас даже скрипт готов, нужно только подставить свои данные. | |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 11:05)
| | вот мне непонятно как его активировать... т.е. если вызывается скрипт, данные передаются? | |
|
|
|
|
|
|
|
для: vadimka
(17.05.2011 в 12:49)
| | Ну в самом простом случае вызывать в окне браузера, ваш скрипт обратиться к серверу, получить XML-файл, обработает его и тут же, отправит ответ обратно, открыв новое соединение с сервером. | |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 15:17)
| | не понял:) к примеру - с некоего сервера ко мне на скрипт падает xml файл (как $HTTP_RAW_POST_DATA) в ответ скрпт генерит код и взяв номер из пришедшей информации отправляет назад. Вот запуск скрипта мне не понятен... он автоматически запускается при обращение с другого сервера(curl)? если скрипт запустился и начинается (соединение curl )? все это запускается в браузере? | |
|
|
|
|
|
|
|
для: vadimka
(17.05.2011 в 15:42)
| | мне тут подсказывают, что курл имитирует открытие страницы в браузере (без открытия оной) | |
|
|
|
|
|
|
|
для: vadimka
(17.05.2011 в 18:14)
| | Вернее даже не CURL имитирует открытие страницы в браузере, а браузер и CURL используют один и тот же механизм для доступа к серверу, который страницу отдает (сокеты). | |
|
|
|
|
|
|
|
для: cheops
(17.05.2011 в 20:58)
| | т.е. запущенная страница с курлами передает данные на другую страницу (допустим in.php), которая запускается без открытия в браузере, выполняет свою работу, и снова через курлы передает информацию на другой сервер out.php | |
|
|
|