|
|
|
| Интересует загрузка файла на сервер как раз по http, но без формы. :-)
Т.е. пишется программа с запросом к скрипту на сайте.
Должна передать скрипту (видимо через GET) имя файла на локальном диске,
скрипт должен залить этот файл на сервер.
Возможно ли такое?
Как должен выглядеть передаваемый скрипту запрос и как (хотя бы в общих чертах) должен выглядеть скрипт?
Главное, чтобы инициировалась и произошла передача файла на сервер. Дальше-то всё понятно.
http://www.xserver.ru/computer/sredaprogr/msvb/32/
Бровзер же может загружать файл на сервер.
Почему бы иной программе это не сделать?
При этом, как сказано по вышеуказанной ссылке, после нажатия кнопки бровзер формирует строку запроса передаваемую на сервер.
Так вот как это должно вглядеть?
Программа на vb будет на локальном компьютере.
Может открыть/считать страницу с сервера.
Пусть, скажем, там будет форма. Её надо заполнить и отправить назад.
Атоматически из программы, а не руками из браузера.
Но, похоже, что файл не укажешь автоматом. Я тут параллельно лопачу поиск:
http://www.gotdotnet.ru/Forums/Web/26823.aspx
"Заполнять поле ввода файла в HTML форме невозможно. Это ограничение DOM IE. Происходит это из соображений безопасности."
Но вроде мне как-то попадалась программа для заполнения форм на бесплатных досках объявлений. Там вроде можно было указать фото на локальном диске и она вколачивала их в форму и отправляла. Хотя могу и ошибаться.
В моём случае есть возможность и разместить скрипт на сервере и написать программу для клиентской части.
Собственно нужна возможность загрузки файла на сайт по http. Может есть ещё какие-то решения, кроме того, как передавать его кусками по 250 байт в запросе скрипту...
Просто нужно сделать возможность автоматической заливки файла на сервер клиенту с выходом в инет только по http:80 | |
|
|
|
|
|
|
|
для: tuder
(27.10.2008 в 15:32)
| | >Интересует загрузка файла на сервер как раз по http, но без формы. :-)
>Т.е. пишется программа с запросом к скрипту на сайте.
>Должна передать скрипту (видимо через GET) имя файла на локальном диске,
>скрипт должен залить этот файл на сервер.
>Возможно ли такое?
Скрипт-то зальет. Только почему через GET?
Файлы передаются запросом POST (а если более точно - его методом кодирования multipart/form-data) | |
|
|
|
|
|
|
|
для: tuder
(27.10.2008 в 15:32)
| | Я, например, ни за что не буду разрешать заупуск у себя вашего VB-скрипта, а уж тем более устанавливать какую-то вашу программу. И также поступит любой благоразумный. | |
|
|
|
|
|
|
|
для: sim5
(27.10.2008 в 15:43)
| | >Я, например, ни за что не буду разрешать заупуск у себя вашего VB-скрипта
Я и не настаиваю. :-)
Тем более, уже сказал, что это не серверный VB-скрипт. Это клиентская программа.
Хоть на VB, хоть на дельфи.
А на сервере скрипт на php.
Вот и не найду, сразу скрипт должен принимать POST-параметры как-то, или сам что-то должен генерить.
Какой запрос или "multipart/form-data" должен формироваться и на какой стороне.
Серверной или локальной.
>Если речь идет о "Нет. Программа на локальном компьютере.", то при чем тут браузер - пишите на чем хотите свою программу. Но если браузер, то только поле типа file формы. И чем этот способ вас не устраивает?
Может и устраивает. Вопрос как это реализовать практически. | |
|
|
|
|
|
|
|
для: tuder
(28.10.2008 в 05:18)
| | Вы это только для себя создаете? Тогда какие могут быть вопросы - пишите на чем угодно. Если же это для клинтов ваших - забудьте сразу. Работать с клиентом, значит извещать его о том чего вы хотите от него, либо что он может делать. Как вы себе представляете "скрытую" от пользователя загрузку файлов? Вы что знаете где и какие файлы у меня на компьютере лежат? Или вы знаете какой именно файл я хочу вам загрузить?
Не надо никаких скриптов, достаточно обыкновенной HTML формы:
<form action="scriptname.php" method="post" enctype="multipart/form-data">
<input type="file" name="upfile">
<input type="submit" name="sender" value="Send">
</form>
|
А в файле обработчике формы scriptname.php получить:
$_FILES['upfile']['атрибуты']. Что означают "атрибуты", читать тут. | |
|
|
|
|
|
|
|
для: sim5
(28.10.2008 в 05:41)
| | :-)
Ну ёлы-палы.
Вы рассматриваете и объясняете мне совсем с другой стороны.
Как сделать форму и обработать - я знаю.
Скажем так. Я знаю, где какой файл у меня лежит.
Мне нужно какой-то файл загружать на сервер автоматически.
Мне нужно загружать этот файл по http-протоколу, так как остальное всё запрещено.
Мне нужно загрузить этот файл из самописанной программы, а не через бровзер руками.
На сервере должен лежать скрипт, который обработает принятый файл.
Какой комбинацией буковок и циферок можно инициировать отправку файла на сервер?
Что происходит в момент нажатия кнопки "Send" в обычной форме на страничке?
Как мне эмулировать эту форму и нажатие? | |
|
|
|
|
|
|
|
для: tuder
(31.10.2008 в 14:54)
| | Ну ёлы-палы... Вы это чисто для себя делаете? Пишите на C, Delphi, на чем хотите, что знаете. Как работать с файлами в том или ином языке, читайте в мануале. Я просто не понимаю, чего вам конкретно надо. А сделать отправку формы "не руками" можно и в JS - formName.submit(). Только вот атрибут value поля file формы, только для чтения, понимаете это? | |
|
|
|
|
 27 байт |
|
|
для: tuder
(31.10.2008 в 14:54)
| | Вот пример запроса, отправляемого браузером.
Чтобы далеко не ходить - прямо из формы отправки сообщений в этом форуме.
POST /forum/addpost.php?id_forum=1&id_theme=59354&id_post=346807 HTTP/1.1
Host: softtime.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Proxy-Connection: keep-alive
Referer: http://softtime.ru/forum/addpost.php?id_forum=1&id_theme=59354&id_post=346807
Cookie: lineforum=set_line_forum; wrdp=***********************; current_author=Trianon; PHPSESSID=***********************
Content-Type: multipart/form-data; boundary=---------------------------12881129029233
Content-Length: 1316
-----------------------------12881129029233
Content-Disposition: form-data; name="personally"
-----------------------------12881129029233
Content-Disposition: form-data; name="sid_add_theme"
9665544a662fee7ce8accb75791f2ade
-----------------------------12881129029233
Content-Disposition: form-data; name="author"
Trianon
-----------------------------12881129029233
Content-Disposition: form-data; name="pswrd"
***********************
-----------------------------12881129029233
Content-Disposition: form-data; name="message"
Вот пример запроса, отправляемого браузером.
Чтобы далеко не ходить - прямо из формы отправки сообщений в этом форуме.
[code]
[ /code]
-----------------------------12881129029233
Content-Disposition: form-data; name="attach"; filename="test.txt"
Content-Type: text/plain
this is a sample
of file
-----------------------------12881129029233
Content-Disposition: form-data; name="send"
Отправить
-----------------------------12881129029233
Content-Disposition: form-data; name="id_theme"
59354
-----------------------------12881129029233
Content-Disposition: form-data; name="id_post"
346807
-----------------------------12881129029233
Content-Disposition: form-data; name="id_forum"
1
-----------------------------12881129029233--
|
Сам файл test.txt содержит две строчки
| |
|
|
|
|
|
|
|
для: Trianon
(31.10.2008 в 16:05)
| | Во. Спасибо. Буду пробовать.
А то прокопал интернет на предмет софта, который бы заголовок перехватывал.
Да ничего бесплатного не нашёл работоспособного. | |
|
|
|