Форум программистов, компьютерный форум, киберфорум PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 19.04.2021
Сообщений: 17

Не выполняется переадресация через curl при POST запросе

29.07.2021, 00:49. Показов 1777. Ответов 7

Author24 — интернет-сервис помощи студентам
При попытке выполнить POST-запрос с помощью curl php белая страница, не выполняется переадресация.
файл в расширении *.php с учетом регистра, обращаюсь к нему на сервере через http://, версия php на сервере 7.1, через phpinfo() говорит, что поддержка curl присутствует.

Вот код:
PHP Скопировано
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
<?php
function request() {
    $url = "https://test.oppwa.com/v1/checkouts";
    $data = "entityId=8a8294185e5c61f5015e61d25f250dca" .
                "&amount=92.00" .
                "&currency=EUR" .
                "&paymentType=DB";
 
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                   'Authorization:Bearer OGE4Mjk0********YTkgzOQ=='));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// this should be set to true in production
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $responseData = curl_exec($ch);
    if(curl_errno($ch)) {
        return curl_error($ch);
    }
    curl_close($ch);
    return $responseData;
}
$responseData = request();
?>
ЧЯДНТ?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.07.2021, 00:49
Ответы с готовыми решениями:

Переадресация на URL при POST запросе
using System; using System.Collections.Generic; using System.Text; using System.Collections.Specialized; using System.Net; using...

Не отправляются аутентификационные coookie при повторном запросе через curl
Возможно это уже обсуждалось на Вашем форуме, но я не смог найти. Поэтому решил написать заново. Проблема в следующем. Мне нужно...

Curl, как передать в post запросе знак &
Нужно короче отправить пост запрос который содежит url и естественно знаки &amp;, сам курл считает ети знаки как разделители заголовков, и...

7
220 / 173 / 115
Регистрация: 19.01.2015
Сообщений: 524
29.07.2021, 01:53
А где тут редирект? В переменную $responseData получаются какие-то данные и дальше с ними ничего не делается. Конечно белая страница и будет.
1
0 / 0 / 0
Регистрация: 19.04.2021
Сообщений: 17
29.07.2021, 02:03  [ТС]
подскажите как для идиота, пожалуйста, что нужно дописать?
0
220 / 173 / 115
Регистрация: 19.01.2015
Сообщений: 524
29.07.2021, 02:11
А что должно произойти? curl не для редиректов предназначен.
1
0 / 0 / 0
Регистрация: 19.04.2021
Сообщений: 17
29.07.2021, 02:42  [ТС]
https://oppwa.com/v1/checkouts меня должно выкинуть вот сюда, где заполнится json с нужным мне id

Добавлено через 13 минут
Если что, вот что написано в документации к виджету: "First, perform a server-to-server POST request to prepare the checkout with the required data, including the order type, amount and currency. The response to a successful request is a JSON string with an id, which is required in the second step to create the payment form."
0
 Аватар для DimasCooleR
24 / 16 / 9
Регистрация: 19.07.2021
Сообщений: 79
29.07.2021, 04:42
Лучший ответ Сообщение было отмечено Goosenic как решение

Решение

Цитата Сообщение от Goosenic Посмотреть сообщение
JSON string with an id, which is required in the second step to create the payment form
Все верно написано.
Вы правильно сделали запрос, он обработался, в результате получаете ответ в виде json string в котором одна из переменных id, котторая вам понадобитьтся на следущем шаге для создания формы оплаты.

Code Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
object(stdClass)#2 (5) {
  ["result"]=>
  object(stdClass)#1 (2) {
    ["code"]=>
    string(11) "000.200.100"
    ["description"]=>
    string(29) "successfully created checkout"
  }
  ["buildNumber"]=>
  string(66) "cb4d25a8e1192976e77207fcf7456a8a300bd147@2021-07-26 13:37:17 +0000"
  ["timestamp"]=>
  string(24) "2021-07-29 01:34:51+0000"
  ["ndc"]=>
  string(46) "3134E9828EDC2E6F383EFA55175FD715.uat01-vm-tx02"
  ["id"]=>
  string(46) "3134E9828EDC2E6F383EFA55175FD715.uat01-vm-tx02"
}
Вот что приходит в ответ. Вытягиваем id и формируем следующий запрос CURL для создания платежки.

PHP Скопировано
1
2
3
4
5
$responseData = request();
$json = json_decode($responseData);
if ($json->result->code == "000.200.100"){
    print "Create payment form with id:".$json->id;
}
1
0 / 0 / 0
Регистрация: 19.04.2021
Сообщений: 17
29.07.2021, 12:07  [ТС]
Господи, я идиот! Мне же Smls еще в начале сказал, что я что-то получаю в $responseData и ничего дальше с ней не делаю... Спасибо большое вам обоим!
0
51 / 38 / 13
Регистрация: 20.01.2019
Сообщений: 115
29.07.2021, 12:10
Цитата Сообщение от Goosenic Посмотреть сообщение
ЧЯДНТ
ответ от курла декодится, оттуда вытягивается условный payment_url, а потом
PHP Скопировано
1
2
header('Location: ' . $payment_url);
exit;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.07.2021, 12:10
Помогаю со студенческими работами здесь

Отправка POST через CURL
Ребят, создал скрипт в OSPanel, в котором CURL отправляет массив методом POST. На реальном сервере создал скрипт, где пытаюсь...

Wall.post через Curl
Пытаюсь отправить сообщение на стену паблика в ВК через Curl &lt;?php $token = '0000000000000000000000000000000000000000000'; ...

Парсинг post запроса через cURL
Стоит задача получить в поиске конкретную запись по номеру извещения. Делаю через CURL,сам сайт с формой успешно получен, но данные не...

Передать ";" в POST запросе curl
Здравствуйте, использую следующий код для отправки POST запроса на сайт: curl_setopt($curl, CURLOPT_POSTFIELDS,...

Не передается переменная через POST в скрипт с cURL
Доброго времени суток! Я делаю проект, где можно выложить текст в Интернет и получить короткую ссылку, например: myshortsite.com/1fG7j ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Вопросы на собеседованиях по микросервисам
ArchitectMsa 27.03.2025
Работодатели ищут не просто разработчиков, знающих базовые концепции, а специалистов, разбирающихся в тонкостях масштабирования, отказоустойчивости и производительности. Сейчас на первый план выходят. . .
Взаимодействие Python с REST API
py-thonny 27.03.2025
REST API - это архитектурный стиль взаимодействия компонентов распределённого приложения в сети. Python располагает функциональным набором инструментов для работы с REST API и основная библиотека для. . .
sshd restrictions, ssh access limitations
jigi33 26.03.2025
sshd restrictions | ssh access limitations рестрикции доступа на сервер sshd статья: https:/ / www. golinuxcloud. com/ restrict-allow-ssh-certain-users-groups-rhel
Компиляция C++ с Clang API
NullReferenced 24.03.2025
Компиляторы обычно воспринимаются как черные ящики, которые превращают исходный код в исполняемые файлы. Мы запускаем компилятор командой в терминале, и вуаля — получаем бинарник. Но что если нужно. . .
Многопоточное программировани­е в C#: Класс Thread
UnmanagedCoder 24.03.2025
Когда запускается приложение на компьютере, операционная система создаёт для него процесс - виртуальное адресное пространство. В C# этот процесс изначально получает один поток выполнения — главный. . .
SwiftUI Data Flow: Передача данных между представлениями
mobDevWorks 23.03.2025
При первом знакомстве со SwiftUI кажется, что фреймворк предлагает избыточное количество механизмов для передачи данных: @State, @Binding, @StateObject, @ObservedObject, @EnvironmentObject и другие. . . .
Моки в Java: Сравниваем Mockito, EasyMock, JMockit
Javaican 23.03.2025
Как протестировать класс, который зависит от других сложных компонентов, таких как базы данных, веб-сервисы или другие классы, с которыми и так непросто работать в тестовом окружении? Для этого и. . .
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
Образование и практика
Igor3D 21.03.2025
Добрый день А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер