Отправление и получение данных с помощью заголовков.

  • Автор темы Автор темы Yuriy_S
  • Дата начала Дата начала

Yuriy_S

-=PHP-Club=-
Отправление и получение данных с помощью заголовков.

Всем привет!
Есть задача: файл с одного сервера отправить на другой.
При этом, первый сервер вызывает url другого сервера, и отправляет на тот URL содержимое файла заголовками (что то типа header (octet/stream);
), вопрос, как можно тем URL получить эти даннные?
Используются естественно php скрипты.
 
посылаю вообще не я, а другой сервер, там изменить ничего нельзя.
Мне нужно как то принять содержимое файла и сохранить его.
Сервер отправляет заголовком содержимое файла.
 
Что-то здесь не то - как можно заголовком отправить содержимое файла?
 
ну если ничего изменить нельзя то значит как то можно... =)

а ты посмотри что тебе в скрипт приходит... поковыряй... авось где то да и есть всё...
 
>Мне нужно как то принять содержимое файла и сохранить его.

Стоп.
Изначально кто соединение открывает? Твой сервер.
Общение по http без дополнительных велосипедов. Так в чем проблема то?
rtfm curl?

>Что-то здесь не то - как можно заголовком отправить содержимое файла?

впринципе в заголовок можно впихнуть файл :D только ни один браузер этого не поймет :D
 
В общем пишу подробно.
Имеется 1 сервер, на на нем есть софт, написанный на Python.
Он активизирует URL моего сервера, и отправляет в заголовке файл, не знаю каким образом, но видимо по HTTP протоколу.
Так вот, мой активизированный URl должен принять этот файл и сохранить.
Если у кого то есть свежие идеи, то буду рад выслушать.
Спасибо.
 
А-фи-геть.
Ты бы хотябы request 'ом поделился что-ли. Или на крайней случай адресом твоего такого навороченного сервера :) А каким образом с того сервера выполняется запрос ты не знаешь?
 
Сервер немой, я вообще не знаю что там и как у них.
вот вот, в том то и дело, что я знаю что данные отправляются таким методом как я написал выше, судя по всему по HTTP протоколу с помощью обычных заголовков.
И как можно получить данные без http адреса того сервера...
 
Yuriy_S
услуги телепатов нынче дороги.

Если этот сервер вызывает твой скрипт значит у тебя должны быть какие-то контакты с владельцами этого сервера. Обратись к ним за консультациями
 
ок, спасибо всем.
"Владельцы" того сервара сами точно незнают, сказали что стандартными заголовками отсылают файл.
 
насколько я помню спецификации файл средствами HTTP в запросе (http request) можно послать 2-мя способами
1. PUT-запрос (на практике не использовал)
2. Стандартный аплоад файла (с этим я надеюсь ты знаком).
 
а ещё, можно такой вопрос.
с помощью CURL отправляю данные другому скрипту, и ничего неприходит....
вот код отправляющего скрипта:
PHP:
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL, "http://10.4.28.15/up/curl.php");
$fp=fopen("test.txt", "r");
curl_setopt($curl, CURLOPT_INFILE, $fp);
$fp2=fopen("error.txt", "w");
curl_setopt($curl, CURLOPT_STDERR, $fp2);
curl_exec($curl);
curl_close($curl);
Вот принимающий:
PHP:
$curl=curl_init("http://10.4.28.15/up/send.php");
$fp=fopen("file.txt", "w");
curl_setopt($curl, CURLOPT_FILE, $fp);
cerl_setopt($curl, CURLOPT_HEADER, 0);
curl_exec($curl);
curl_close($curl);
и ничего неработает, что нетак делаю?
 
имхо принимающий скрипт должен быть скриптом стандартного аплоада файла на сервер а отсылающий скрипт должен работать через курл
 
тогда как должен выглядеть сам header принимающего?

p.s у отправляющего сервера судя по всему нет URL-я, отправляет программа, написанная на Python.
 
имхо не имеет значения (хотя зависит от отправляющей программы), главное чтобы он файл принимал.
Ну выводи HTTP/1.0 200 Ok (вроде так, посмотри точнее в RFC)
 
всем огромное спасибо за участие.
Вопрос решен, все работает.
 
Сверху