Winsock, POST, HTTP upload FILE

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Winsock, POST, HTTP upload FILE

Сообщение miwutka » 27.04.2006 (Чт) 10:08

есть в нете скрипт, в который надо передать файл, и этот файл закачивается на сервер.
Проблема в том, что скрипт проверяет расширение файла, как через winsock передать имя файла? а затем и само содержимое?

форма на web интерфейсе выглядит так
<form name="Upload" action=Save.asp enctype="multipart/form-data" method="post" BORDER-RIGHT-STYLE: "none">
<input NAME="Req" TYPE="file">
<input type="submit" value="Отправить" id="submit1" name="submit1">

Пасиб

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 27.04.2006 (Чт) 10:44

http://bbs.vbstreets.ru/viewtopic.php?t=7726
И почитай описание протокола HTTP. Очень многое станет ясным.
Изображение

miwutka
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 76
Зарегистрирован: 10.11.2005 (Чт) 16:34
Откуда: Moscow, Elektrostal

Сообщение miwutka » 02.05.2006 (Вт) 8:57

нда, может я тупой, но по указанному линку про отправку файла нет ни слова.

Описание хттп давно прочитал, конкретных пунктов не нашел.
Да, есть Content-type и проч.

Достаточно ли просто указать Content-type, length и записать в параметры содержимое файла закодированное в Base64?

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Re: Winsock, POST, HTTP upload FILE

Сообщение SSecurity » 26.03.2009 (Чт) 13:00

короче взял винсок, посадил на 89 порт, запустил твою формц но адрес задал как "http://localhost:89", и вот что опреа послала (понятно что истечением 3 лет это уже может быть и не интересно), но кроме тебя есть и другие с подобными вопросами

Код: Выделить всё
POST / HTTP/1.1
User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1
Host: localhost:89
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Connection: Keep-Alive
Content-Length: 70844
Content-Type: multipart/form-data; boundary=----------HoEHW9UmnS0DQccILKFutt

------------HoEHW9UmnS0DQccILKFutt
Content-Disposition: form-data; name="Req"; filename="vs2005.jpg"
Content-Type: image/jpeg

тут было тело файла в бинариках

------------HoEHW9UmnS0DQccILKFutt
Content-Disposition: form-data; name="submit1"

Отправить
------------HoEHW9UmnS0DQccILKFutt--



Это разделитель данных в форме (чтобы файл от кнопки и элементов ввода отделить)
Код: Выделить всё
------------HoEHW9UmnS0DQccILKFutt

Самый последний с двумя -- на конце, значит что мастдай запросу.

А вот это, кнопка отправить ... сначала идет её заголовок, а потом содержимое Value
Код: Выделить всё
Content-Disposition: form-data; name="submit1"

Отправить


Во вложении лог всего запроса.
Вложения
buffer_dat.rar
Что шлет опера при отправке ПОСТОМ файла
(62.54 Кб) Скачиваний: 36
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 39

    TopList