Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Передача бинарных данных на сервер POST-запросом
Покинул форум
Сообщений всего: 44
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
По сабжу, делаем для себя http-клиент на C#, как лучше передать на хостинг данные которые изначально находятся у клиента в бинарном виде, но не как файл, а как результат работы некой функции, грубо говоря находятся в ОП?
Мелкий
Отправлено: 15 Июля, 2012 - 21:41:00
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Физически - хоть так и посылайте блобом. Потом из php://input прочитаете.
Или посылаете стандартным multipart/form-data
Или простым application/x-www-form-urlencoded, соответственно сделав url-кодирование бинарнику
----- PostgreSQL DBA
Alpinist
Отправлено: 16 Июля, 2012 - 07:43:03
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
Мелкий пишет:
Физически - хоть так и посылайте блобом. Потом из php://input прочитаете.
Или посылаете стандартным multipart/form-data
Или простым application/x-www-form-urlencoded, соответственно сделав url-кодирование бинарнику
Говорят что "php://input" не всегда работает на сервере, вроде все зависит от того как установлен php, в виде cgi или модуля, так ли это? а при передаче в виде multipart/form-data обязательно кодировать информацию? потому что я смотрел заголовки фф когда он передает файл, там бинарик передается, никакого urlencode или base64 и подавно нету =)
Мелкий
Отправлено: 16 Июля, 2012 - 10:09:33
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Alpinist пишет:
Говорят что "php://input" не всегда работает на сервере, вроде все зависит от того как установлен php, в виде cgi или модуля, так ли это?
В multipart/form-data информация не кодируется вовсе.
----- PostgreSQL DBA
Alpinist
Отправлено: 16 Июля, 2012 - 11:12:28
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
Мелкий пишет:
В multipart/form-data информация не кодируется вовсе.
Я заметил, когда передаем файл из ФФ он не кодирует, а просто boundary указывает от и до и все. А ограничение есть на передаваемый объем данных? и что лучше в бинарике передавать или текстом? =)
Мелкий
Отправлено: 16 Июля, 2012 - 11:28:09
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Ограничения только конфига сервера - post_max_size - это касательно PHP (в зависимости от того, как сделаете заголовки, ещё upload_max_filesize). Веб-сервер, HTTP-балансировщик и др. участники пищевой цепи могут накладывать свои ограничения.
А передавать как бинарник или текстовым представлением - ИМХО, лучше бинарником. Во всяком случае так меньше трафика потребляется.
----- PostgreSQL DBA
Alpinist
Отправлено: 16 Июля, 2012 - 12:40:27
Новичок
Покинул форум
Сообщений всего: 44
Дата рег-ции: Февр. 2010
Помог: 0 раз(а)
Мелкий, ну Мэн че тут добавить, буду пробывать, о результатах сообщу
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.