Как сделать прозрачную передачу запроса на другой сервер (типа прокси сервера)?

Есть основной интернет магазин
Стоит следующая задача :

Необходимо сделать партнерскую систему. Одна из возможностей партнерской системы - партнер должен разместить на своем хостинге скрипт, которой будет брать все данные с основного магазина.

Как решение вижу - разместить у партнера на сервере скрипт который будет как прокси передавать полный запрос на основной магазин и отображать результат. При этом к основному запросу надо добавить переменную - идентификатор партнера

есть ли готовый скрипт который который передаст все данные гет запроса, пост запроса, куки ... ip пользователя и т.п. на основной сайт?
  • Вопрос задан
  • 2939 просмотров
Пригласить эксперта
Ответы на вопрос 3
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Какая то у Вас сильно урезанная партнерка получается.
Я бы смотрел в сторону полноценного REST апи и модулей у партнера которые эти данные визуализируют
Ответ написан
KEKSOV
@KEKSOV
Для пересылки всех параметров запроса можно воспользоваться вот таким скриптом, который должен быть размещен у партнера
<?php

$data = new Array( 'server' => $_SERVER, 'request' => $_REQUEST, 'cookie' => $_COOKIE );
$data = json_encode( $data );

$params = array (
    'http' => array (
        'method' => 'POST',
        'header' => "Content-Type: multipart/form-data\r\n",
        'content' => $data
    )
);
   
$url = "http://ваш_сайт.ru";
$ctx = stream_context_create( $params );
$fp  = fopen( $url, 'rb', false, $ctx );

$response = stream_get_contents($fp);

echo $response;
Ответ написан
akubintsev
@akubintsev
Опытный backend разработчик
Какова задача? Получить конкретные данные из магазина на параметры запроса.
Тогда есть два варианта:
1) выдача результата запроса в виде html
2) выдача результата запроса в виде json или иного структурированного набора данных для дальнейшей обработки на стороне партнёра.

В первом случае достаточно iframe.
Во втором делается кросс-доменный ajax-запрос к API или со стороны сервера партнёра получение через curl. Смотря для каких целей.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы