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

Yuriy_S

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

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

Alien

Новичок
а просто post-ом послать нельзя?
как то путано написал.
 

Yuriy_S

-=PHP-Club=-
посылаю вообще не я, а другой сервер, там изменить ничего нельзя.
Мне нужно как то принять содержимое файла и сохранить его.
Сервер отправляет заголовком содержимое файла.
 

Linker

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

nagash

Guest
ну если ничего изменить нельзя то значит как то можно... =)

а ты посмотри что тебе в скрипт приходит... поковыряй... авось где то да и есть всё...
 

Alien

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

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

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

впринципе в заголовок можно впихнуть файл :D только ни один браузер этого не поймет :D
 

Yuriy_S

-=PHP-Club=-
В общем пишу подробно.
Имеется 1 сервер, на на нем есть софт, написанный на Python.
Он активизирует URL моего сервера, и отправляет в заголовке файл, не знаю каким образом, но видимо по HTTP протоколу.
Так вот, мой активизированный URl должен принять этот файл и сохранить.
Если у кого то есть свежие идеи, то буду рад выслушать.
Спасибо.
 

Altex

Новичок
А-фи-геть.
Ты бы хотябы request 'ом поделился что-ли. Или на крайней случай адресом твоего такого навороченного сервера :) А каким образом с того сервера выполняется запрос ты не знаешь?
 

Yuriy_S

-=PHP-Club=-
Сервер немой, я вообще не знаю что там и как у них.
вот вот, в том то и дело, что я знаю что данные отправляются таким методом как я написал выше, судя по всему по HTTP протоколу с помощью обычных заголовков.
И как можно получить данные без http адреса того сервера...
 

Макс

Старожил PHPClub
Yuriy_S
услуги телепатов нынче дороги.

Если этот сервер вызывает твой скрипт значит у тебя должны быть какие-то контакты с владельцами этого сервера. Обратись к ним за консультациями
 

Yuriy_S

-=PHP-Club=-
ок, спасибо всем.
"Владельцы" того сервара сами точно незнают, сказали что стандартными заголовками отсылают файл.
 

Макс

Старожил PHPClub
насколько я помню спецификации файл средствами HTTP в запросе (http request) можно послать 2-мя способами
1. PUT-запрос (на практике не использовал)
2. Стандартный аплоад файла (с этим я надеюсь ты знаком).
 

Yuriy_S

-=PHP-Club=-
а ещё, можно такой вопрос.
с помощью 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);
и ничего неработает, что нетак делаю?
 

Макс

Старожил PHPClub
имхо принимающий скрипт должен быть скриптом стандартного аплоада файла на сервер а отсылающий скрипт должен работать через курл
 

Yuriy_S

-=PHP-Club=-
тогда как должен выглядеть сам header принимающего?

p.s у отправляющего сервера судя по всему нет URL-я, отправляет программа, написанная на Python.
 

Макс

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

Yuriy_S

-=PHP-Club=-
всем огромное спасибо за участие.
Вопрос решен, все работает.
 
Сверху