![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Есть задача. Поноценно сэмулировать работу HTML формы, без самой формы (из PHP). Т.е. есть массива (имя поля => значение поля), который надо запульнуть на удаленный action, так, как это сдела ла бы форма. В интернет по этому вопросу все сводиться к использования cURL, но он отправляет запрос в фоновом режимем, а мне нужноч, чтоб мой сайт сформировал данные и отправил их обрабатываться на удаленном сайте.
Конкретно речь идет о Paypal Standart. В идеале я должен отправлять данные прямиком с формы, на Paypal обработчик по факту нажатия на кнопку "заказать", что для меня не очень удобно т.к. мне необходимо отработать нажатие кнопки, совершить ряд действий и только потом посылать пользователя на оплату. |
|||
|
||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Отправка через jQuery ?
|
|||
|
||||
| Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
Идешь на страницу с формой - смотришь исходный код: передаваемые поля, имя скрипта, метод (post,get). Далее в php
Хотя... в принципе от работы курла ничем отличаться не будет... --------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
| РОМАN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 5.4.2012 Репутация: нет Всего: нет |
"В интернет по этому вопросу все сводиться к использования cURL, но он отправляет запрос в фоновом режимем"
Что за фоновый режим? у себя на сабмите формы юзаешь без проблем. Вот пример (самый общий случай): $curl = curl_init("полный путь к удаленный action"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //для отладки curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $_POST); $responce = curl_exec($curl); $responce - если ждешь ответ |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
||||
|
||||
| Fortop |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
И, да, курл отправляет данные в том режиме, в котором вы запрограммируете свой скрипт. -------------------- Мир это Я. Живее всех живых. |
||||||
|
|||||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Fortop,
location - почти то, что нужно, но им можно передать только get - запрос, а мне нужно отправить post - запрос
В каком режиме его не настраивай, все равно Curl будет работать с удаленным сервером, как клиент. Моя же цель сделать так, что мой сервер дал клиенту команду передать на другой сервер post-запрос с предопределенным набором параметров. Curl я так понимаю, в данном случае вообще не как к делу не относиться. Вот если бы мне нужно было скриптом пообщаться с удаленной формой и вывести результаты - это да... |
|||
|
||||
| Sentox |
|
|||
|
как то так ![]() ![]() Профиль Группа: Участник Сообщений: 392 Регистрация: 27.1.2009 Где: Зимбабве Репутация: 7 Всего: 7 |
Сайт стоит локально и с него нужно дать команду отправки?
Тогда стоит посмотреть в сторону Selenium, скорее всего в связке с Вашим сервером. Он создаёт свой сервер и становится "прокси" между браузером и Вашим приложением, так что Вы можете давать любые указания непосредственно из программы сервера. Есть вот такой ещё вариант http://symfony.com/doc/current/book/testing.html но я пока им не интересовался. То же эмулирует функциональные запуски через браузер (хотя точно не скажу, если поинтересуетесь отпишитесь так ли это Это сообщение отредактировал(а) Sentox - 20.5.2012, 15:54 |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
да, есть такие дибильные платёжные системы, где требуется клиентская часть там, где она совсем не нужна.
пользователь заполняет форму, жмёт кнопку "заказать", форма отправляется на твой сервер. он обрабатывает необходимый цикл операций, после чего отдаёт пользователю форму с action платёжника и необходимыми данными, и автоматическим js-отсылателем, вроде:
а также кнопкой сабмит, которая бы смогла отправить эту форму вручную и извиняющей надписью, на случай, если скрипт не сработает кажущащаяся дыра в безопасности ликвидируется проверочными запросами сервер-сервер и подписью данных, которые в любом случае есть |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |