URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 5702
[ Назад ]

Исходное сообщение
"Передача данных (массива) между сайтами"

Отправлено Brabus , 18-Апр-08 22:56 
Здравствуйте. Начал рыть в этом направлении... В общем, цель такова:

нужно передавать массив данных между двумя сайтами. Взаимодействие будет проходить только на уровне php-скриптов, т.е. без участия пользоваетелей и браузеров. Соответственно, тут никаких варианты типа форм не подойдут. Думаю, здесь прийдется руками составлять http запрос и отправлять хеадером.

Вообще, с технической стороны, такое возможно? Если да, то таки как это провернуть?

Вариант с использованием файловой системы оставлю на самый последний, запасной ход.


Содержание

Сообщения в этом обсуждении
"Передача данных (массива) между сайтами"
Отправлено tx2 , 18-Апр-08 23:04 
не хедером.

можно сделать serialize() структуры данных и выдавать её по определенному запросу.. можно записывать нужные данных в формате xml (что сложнее, но более универсально).
это на стороне которая отдает данные

сторона которая запрашивает данные - шлет http запрос... как - дело техники... можно хоть через сокеты, а вообще вариантов куча. потом соответственно что-то делает с телом запроса(синтаксический разбор).

ЗЫ. обязательно подумайте об аутентификации!!!


"Передача данных (массива) между сайтами"
Отправлено Brabus , 18-Апр-08 23:29 
>можно сделать serialize() структуры данных и выдавать её по определенному запросу.. можно
>записывать нужные данных в формате xml (что сложнее, но более универсально).
>
>это на стороне которая отдает данные
>
>сторона которая запрашивает данные - шлет http запрос... как - дело техники...
>можно хоть через сокеты, а вообще вариантов куча. потом соответственно что-то
>делает с телом запроса(синтаксический разбор).

Итак, как я все вижу.
Первая сторона приготовила данные (сериализ), и куда-то их запхнула на хранение (в бд).
Вторая сторона должна запросить у первой эти данные.
Если на сокетах, то, вторая сторона открывает соединение и посылает запрос:
$fp = fsockopen('localhost', 80);
fputs($fp, 'GET / HTTP/1.1\r\n');
fputs($fp, 'Host: localhost\r\n');
*** вопрос по ходу дела: возможно ли самовольно добавлять свои заголовки в запрос?
*** например, чтобы отдающая сторона получила эти заголовки, нашла нужный, поняла что от
*** нее хотят и отдала сериализованные данные.
*** fputs($fp, 'GetData: true\r\n');
fputs($fp, '\r\n');

Дальше, по ходу дела, первая сторона получает этот запрос. Нам надо получить заголовки. Как это сделать? Может, функцией get_headers? Если да, то как ей здесь правильно воспользоваться?
Допустим, первая (отдающая) сторона вытащила все заголовки. Нашла GetData: true. Поняла что надо отдать массив. Каким образом здесь ей отдать его второй стороне (получателю)? Какой запрос построить?

Допустим, первая сторона передала массив. Вторая сторона, на сколько понимаю, будет иметь его в дескрипторе $fp.

Comments, pls :)


"Передача данных (массива) между сайтами"
Отправлено anonymous , 26-Апр-08 18:00 
Откройте для себя метод POST в HTTP.

"Передача данных (массива) между сайтами"
Отправлено angra , 19-Апр-08 15:18 
Если нужна безопасность - используйте SOAP, для пыха он вроде в стандартных функциях даже есть. Если безопасность не важна и врапперы не отключены, то просто сделайте get запрос через open или include


"Передача данных (массива) между сайтами"
Отправлено zhitya , 22-Апр-08 16:50 
>[оверквотинг удален]
>
>нужно передавать массив данных между двумя сайтами. Взаимодействие будет проходить только на
>уровне php-скриптов, т.е. без участия пользоваетелей и браузеров. Соответственно, тут никаких
>варианты типа форм не подойдут. Думаю, здесь прийдется руками составлять http
>запрос и отправлять хеадером.
>
>Вообще, с технической стороны, такое возможно? Если да, то таки как это
>провернуть?
>
>Вариант с использованием файловой системы оставлю на самый последний, запасной ход.

Зачем изобретать квадратное колесо?
Если массивы однообразны, то лучше всего посредством БД реализовывать.
Иначе: приводить к сериализу, xml, csv подобному формату - одна хрень.


"Передача данных (массива) между сайтами"
Отправлено Асен Тотин , 23-Апр-08 13:23 
Привет,

Есть на свете RPC-XML... хотя, конечно с PHP всегда нужно держать одно в уме насчет безопасности. Чаще всего даже два :-) Иначе, вам как раз подойдет.

WWell,