Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.147.44.89] |
|
Сообщ.
#1
,
|
|
|
Итак есть
1 Обчный купленый хостинг(10 уе в мес) и сайт. Нужно написать клиент, который будет стоять у 30 пользователей, чтобы они моглы быстро отправлять на этот сайт свои файлы(изображения и прочие файлы) Раньше я их просто просил зайти в интернет и через веб форму, отправить их файлы на сервер. Но сейчас задача в том, чтобы было ПО клиента, которое само посылает файлы на сайт. FTP не подходит сразу, потому что клиенты при помощи снифера вынюхивают логин и пароль, а я не хочу давать им полный доступ к сайту. Клиенты должны просто нажать одну кнопку и все их файлы(до 100 штук, должны отправиться, можно по очереди, на сайт. Чтобы они каждый раз не заходили на сайт и не указывали имена файлов через веб форму. Как это лучше реализовать? Я использую NMHTTP метод POST, но он не хочет отправлять на сайт файлы. В чем трабл? Или может плюнуть на NMHTTP и использовать что то другое? |
Сообщ.
#2
,
|
|
|
Варианты ответа:
1. Код в студию! 2. Плюнь и пользуй сокеты! Мне нравится второй... |
Сообщ.
#3
,
|
|
|
Вот РНР код который стоит на странице, куда нужно файлы отправлять
<? if (isset($upload)) { copy($UFile, $Filename); } else { // кнопка не нажата, выводим форму echo "<html><head><title>Galery</title></head><body>"; echo "<form action=upload.php method=POST enctype=multipart/form-data>"; echo "<input type=file name=UFile>"; echo "Имя файла на сервере <input type=text name=Filename>"; echo "<input type=submit name=upload value=Загрузить>"; echo "</form></body></html>"; } ?> |
Сообщ.
#4
,
|
|
|
Цитата zolotoy @ Пороть по субботам - может захочет?но он не хочет отправлять на сайт файлы. В чем трабл? Надо разобраться, кто именно не хочет - клиент или сервер (того и пороть). Самое надежный способ отделить мух от котлет - посмотреть снифером (ех. WireShark), что собственно происходит. |
Сообщ.
#5
,
|
|
|
Когда эта РНР форма висит на сервере, то в ручном режиме через заход на эту страницу, файлы на сервер отправляются.
Может кто то попробует отправить на любой из хостингов файлы через метод POST в NMHTTP ? |
Сообщ.
#6
,
|
|
|
В который раз уже встречаю упорное нежелание сетевых программистов использовать стандартные средства отладки сетевых приложений. Просто болезнь какая-то.
Цитата zolotoy @ Так попробуй сам - только с использованием сниффера и сравни его показания с "ручным режимом". Может кто то попробует отправить на любой из хостингов файлы через метод POST в NMHTTP |
Сообщ.
#7
,
|
|
|
Может ли кто нибудь показать КОД как отправлять файлы методом POST используя NMHTTP ?
|
Сообщ.
#8
,
|
|
|
Может. Дядюшка Гугл всё может.
|
Сообщ.
#9
,
|
|
|
Adil
Переискал весь интернет. Есть куча инфа, как просто отправлять значения переменных, но как отправлять ФАЙЛЫ информации нигде нет. |
Сообщ.
#10
,
|
|
|
Цитата zolotoy @ Плохо искал или нагло врёшь. В 6-ом результате поиска:Переискал весь интернет. Есть куча инфа, как просто отправлять значения переменных, но как отправлять ФАЙЛЫ информации нигде нет. Цитата Причём, насколько я понял, это из билдеровской справки по NMHTTP. Insert the following code into Button5's OnClick event: void __fastcall TForm1::Button5Click(TObject *Sender) { if (OpenDialog1->Execute()) { NMHTTP1->OutputFileMode = TRUE; NMHTTP1->Put(Edit1->Text, OpenDialog1->FileName); NMHTTP1->OutputFileMode = FALSE; } } When Button5 is clicked, OpenDialog1 prompts for a file. If a file is selected, the OutputFileMode property is set to TRUE, so that the data to be put will be read from the file specified. The Put method is used to store the file at the address specified by Edit1. When the file is put, the OutputFileMode property is returned to FALSE. |
Сообщ.
#11
,
|
|
|
Adil
Я спрашивал насчет метода POST. А вы мне приводите метод PUT. Отправка методом PUT сейчас практически везде на серверах ЗАКРЫТА, поскольку используется для взлома сайтов. А вот метод POST разрешен везде. Врать я не умею, в МГИМО не научили. |
Сообщ.
#12
,
|
|
|
Да забейте тогда на эти компоненты, как уже Алексей Л. советовал, и используйте стандартные socket, connect, write - честное слово, оно всё только на первый взгляд кажется страшным, а на самом деле всё просто и, главное, естественно. Да еще и переносимо. Да еще 100% и на этом форуме подскажут, и в гугле код найдется.
Цитата zolotoy @ А мне казалось, что там именно этому и учат Что это за политик, что только правду говорит? МГИМО не научили. |
Сообщ.
#13
,
|
|
|
Фух наконец то разобрался.
Все действительно оказалось намного проще, чем я думал. Вручную сформировать HTTP запрос, подклеить к нему в бинарном режиме телофайла и все это послать через клиентсокет. А говорят еще, что программисты не извращенцы ....... |