Использование CURL - Поместить и перенаправить помощь - PullRequest
3 голосов
/ 13 июня 2011

Я уже несколько часов бьюсь головой о стену - и это, наверное, что-то действительно очевидное, что я пропустил!

Я пытаюсь подключиться к поставщику платежных услуг (PSP), используя CURL, опубликовать данные и следить за публикацией, чтобы пользователь действительно оказался на сайте PSP.

Используя следующее:

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://psp.com/theirpage');
curl_setopt($ch, CURLOPT_REFERER,  "http://mysite.com/mypage");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
curl_setopt($ch, CURLOPT_POST, 1);
$result=curl_exec($ch);
curl_close($ch);

Это успешно соединяет, проверяет данные, которые я передал, но вместо перенаправления пользователя на PSP, он просто загружает HTML на моем сайте. Безопасный режим отключен, а open_basedir пуст.

Что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 13 июня 2011

Запрос curl отправляется с вашего сервера, и ваш сервер получает страницу ответа.Нет способа инициировать запрос с сервера и получить ответ от клиента.Либо верните HTML-код пользователю с вашего сайта (как вы делаете), либо сделайте запрос из браузера клиента, используя Javascript.Надеюсь, это поможет

0 голосов
/ 13 июня 2011

CURL будет выполнять внутреннее перенаправление, и это не повлияет на пользователя, просматривающего ваш скрипт curl.Имейте в виду, что оплата была произведена вашим сервером, а не компьютером пользователя, поэтому ожидать, что сеанс будет работать для пользователя, неверно.cURL «это браузер».

Если вы просто хотите перенаправить после оплаты через cURL, вам придется сделать это через header() или с помощью некоторых JS, таких как window.location.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...