Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> WinSock, Передача данных методом POST 
:(
    Опции темы
maximal
Дата 29.3.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.12.2007

Репутация: нет
Всего: нет



 - Задача: передача файла скрипту на вебсервере.

- Текущее решение : 
Код

Private Sub Winsock1_Connect()
  Open [I]Файл[/I] For Binary As #1
  strData = Input(LOF(1), 1)
  Close #1

 Winsock1.SendData "POST /cgi-bin/[I]Некий_Скрипт.cgi[/I] HTTP/1.0" & vbCrLf _
                    & "Content-Type: application/x-www-form-urlencoded" & vbCrLf _
                    & "Host: [I]Некий_Домен.сом[/I]" & vbCrLf _
                    & "Content-Length: " & Len([I]strData[/I]) & vbCrLf & vbCrLf _
                    & [I]strData[/I] & vbCrLf
End Sub


Таким образом отправив всё содержимое файла, скрипт получив и обработав, отдаёт ответ об удачной загрузке.

Минусы:
при некачественной интернет связи, просходят потери и скрипт получает лишь часть данных.

- Дополнительное решение:
отправка описанным образом лишь пути к файлу, передав управление скрипту, а он в свою очередь выполнит задачу более корректно

-------

Подскажите решение лучшее ...

PM   Вверх
Akina
Дата 30.3.2008, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



То есть Вы полагаете, что скрипту будет позволено вытянуть с рабстанции файл по известному пути? мечтатель...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
bom
Дата 31.3.2008, 01:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Цитата(maximal @  30.3.2008,  01:46 Найти цитируемый пост)
Подскажите решение лучшее ...

Код

<html>
<body>
<FORM ENCTYPE="multipart/form-data" ACTION="/cgi-bin/Некий_Скрипт.cgi" METHOD=POST>
Upload file: <INPUT NAME="userfile" TYPE="file">
<INPUT TYPE="submit" VALUE="Send File">
</FORM>
</body>
</html>



PM MAIL   Вверх
maximal
Дата 31.3.2008, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.12.2007

Репутация: нет
Всего: нет



то Akina 
а почему бы и нет?
если можно загрузить на вебсервер посредством браузера файл (браузер передаёт скрипту путь к файлу), соответственно можно и через другие программыне средства.

Добавлено через 2 минуты и 9 секунд
то bom 

простите, а причём тут разметка html ?
мне же необходимо передать файл посредством vb
PM   Вверх
Akina
Дата 31.3.2008, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 454



Цитата(maximal @  31.3.2008,  20:43 Найти цитируемый пост)
если можно загрузить на вебсервер посредством браузера файл (браузер передаёт скрипту путь к файлу), соответственно можно и через другие программыне средства.

Браузер НЕ ТОЛЬКО передает скрипту путь к файлу, браузер передает скрипту (и это главное!) САМ ФАЙЛ.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
maximal
Дата 31.3.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.12.2007

Репутация: нет
Всего: нет



Цитата(Akina @  31.3.2008,  20:55 Найти цитируемый пост)
Браузер НЕ ТОЛЬКО передает скрипту путь к файлу, браузер передает скрипту (и это главное!) САМ ФАЙЛ.


добро!.

а вот как он его передаёт? smile

понятно с этим...

так а что же предпринять в моей ситуацие??
в вышеописанном коде есть минус:
при некачественной интернет связи, просходят потери и скрипт получает лишь часть данных.

есть предложения?

PM   Вверх
bom
Дата 1.4.2008, 00:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



2 maximal:
Это исходный код файла в формате HTML, а не "разметка html". Данный исходный код запостен мной в ответ на ваш призыв подсказать лучшее решение задачи по передаче файла скрипту на вебсервере. 
Данное решение лучшее, потому что оно:
  • простейшее,
  • универсальное (кроссбраузерное, кроссплатформенное).
Ну, а то, что 
Цитата(maximal @  31.3.2008,  22:43 Найти цитируемый пост)
мне же необходимо передать файл посредством vb
 - не знал, не телепат, извините. Чем мое решение не устраивает? Что это: 
Цитата(maximal @  1.4.2008,  00:07 Найти цитируемый пост)
при некачественной интернет связи, просходят потери и скрипт получает лишь часть данных.есть предложения?
Вопрос о том как програмно улучшить качество вашей связи?
 
PM MAIL   Вверх
maximal
Дата 1.4.2008, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.12.2007

Репутация: нет
Всего: нет



bom, 
я представил код vb и на ветке vb форума.

меня интересует именно передача файла посредством vb.


Цитата(bom @  1.4.2008,  00:41 Найти цитируемый пост)
Цитата(maximal @  1.4.2008,  00:07 )
при некачественной интернет связи, просходят потери и скрипт получает лишь часть данных.есть предложения?

Вопрос о том как програмно улучшить качество вашей связи?


у меня вопрос, как лучше средствами Vb передать файл на вебсервер.

и раз есть потери, то, видимо, проверка целостности.
или вообще передачу файла средствами Vb лучше делать иначе?

что именно непонятно в моём вопросе?

скажем так.
КАК ПЕРЕДАТЬ ФАЙЛ методом POST средствами VB на ВЕБ сервер.


PM   Вверх
bom
Дата 1.4.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Средствами VB - вызывая системные API для работы с интернетом, или ActiveX, которые в свою очередь используют те же API? Ну скажем примерно так: http://forum.vingrad.ru/topic-198292.html
Проверка целостности? Обязательно, ручками, скрипт проверяет Content-Length и передает клиенту результат. Так же ручками надо заURLencod-ить передаваемые данные. А что делать... конкурировние с лучшими современными браузерами - хлопотное дело.
PM MAIL   Вверх
maximal
Дата 1.4.2008, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.12.2007

Репутация: нет
Всего: нет



bom, 

Цитата(bom @  1.4.2008,  14:28 Найти цитируемый пост)
вызывая системные API для работы с интернетом, или ActiveX, которые в свою очередь используют те же API

полный сумбур! smile


Цитата(bom @  1.4.2008,  14:28 Найти цитируемый пост)
Ну скажем примерно так: http://forum.vingrad.ru/topic-198292.html

ерунда!!! INET намного хуже, чем winsock контрол! (мы говорим о удобстве и простоте использования)!!!


Цитата(bom @  1.4.2008,  14:28 Найти цитируемый пост)
Проверка целостности? Обязательно, ручками, скрипт проверяет Content-Length и передает клиенту результат.

Ясно! значит лучший вариант - так как я и делаю! но! проверять дополнительно Content-Length, который я на стороне скрипта проверяю.. может не так?! (проверю, если что - это уже в другую ветку)


Цитата(bom @  1.4.2008,  14:28 Найти цитируемый пост)
заURLencod-ить передаваемые данные

непонял?! всмысле???? чтото Вы может подразумеваете??? мне интересно. честно. я просто передаю бинарные данные ПОСТом.
Пожалуйста, поподробнее!


Цитата(bom @  1.4.2008,  14:28 Найти цитируемый пост)
А что делать... конкурировние с лучшими современными браузерами - хлопотное дело. 

Вот поэтому мне и было интересно, может лучше есть способ, чем использую я?!

Заранее благодарен всем за ответы и за развитие ПО ТЕМЕ темы собственно! smile

PM   Вверх
bom
Дата 1.4.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 329
Регистрация: 22.2.2004
Где: Казахстан, Алматы

Репутация: 4
Всего: 6



Цитата(maximal @  1.4.2008,  21:16 Найти цитируемый пост)
полный сумбур! 

Ваше веское мнение - ценно и интересно для меня smile

PM MAIL   Вверх
maximal
Дата 2.4.2008, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.12.2007

Репутация: нет
Всего: нет



bom, 
Цитата(bom @  1.4.2008,  23:56 Найти цитируемый пост)
Ваше веское мнение - ценно и интересно для меня 


а... блин.. .вместо того чтобы тему нормально обсудить, язвить начинаем smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1399 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.