powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Передача по FTP в VB
9 сообщений из 9, страница 1 из 1
Передача по FTP в VB
    #34884547
NessO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Помогите разобраться с проблемой.
Написала программку (VB) –выбирает данные и создает файл .xml.
Далее нужно файл передать по FTP. Нашла на форумах примеры, взяла такой:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Command1_Click()

InetSession = InternetOpen("c:\wincom\wincmd32.exe",  3 , "200.200.12.13",  8080 ,  0 )
Session = InternetConnect(InetSession, "ftp://ftp.microsoft.com",  21 , "anonymous", "guest", _
  1 ,  0 ,  0 )

Call InternetCloseHandle(Session)
Call InternetCloseHandle(InetSession)

End Sub

Выдает Err.LastDllError - 12007 –“The server name could not be resolved”
У многих, кто пробовал таким образом соединиться, были проблемы с InternetConnect.
Но как это разрешить так и не понятно. Может, что подскажете?
...
Рейтинг: 0 / 0
Передача по FTP в VB
    #34886033
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Не стоит врать в первом параметре InternetOpen. Во первых, врать вообще неприлично, а во вторых, такое вранье может быть отловлено антивирусом и прибито.
2) Убери имя протокола из имени сервера.
...
Рейтинг: 0 / 0
Передача по FTP в VB
    #34886682
NessO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не поняла по п.1. Что здесь не так?
...
Рейтинг: 0 / 0
Передача по FTP в VB
    #34887632
Rubber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут более-менее внятное описание механизма работы этих API под VB

п1 - видимо имелось ввиду
"Первый параметр (sAgent) указывает на имя программы, которая вызывает функцию"
лучше там написать что нибудь поскромнее и без путей ... :)
(например PROGwoman)
:)
...
Рейтинг: 0 / 0
Передача по FTP в VB
    #34895148
NessO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашла вариант, который коннектится:

Код: plaintext
1.
InetSession = InternetOpen("VB Project",  0 , vbNullString, vbNullString,  0 )
Session = InternetConnect(InetSession, sServer, iPort, sLogin, sPassword,  3 ,  0 ,  0 )

Загвоздка была в Proxy:
"Так как CERN-базирующийся proxy server общается с его клиентами в HTTP, Вы не можете использовать набор FTP функций Wininet, если клиент получает доступ к серверу FTP через proxy server. Вместо этого Вы должны использовать InternetOpenUrl и InternetReadFile, чтобы восстановить требуемые данные от потока HTTP, посланного proxy server "
...
Рейтинг: 0 / 0
Передача по FTP в VB
    #35058286
PMaN89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... ещё 1 вопросик... тоже необходимо залить файл на фтп
Воспользовался этим кодом
Всё подключается "на ура"
Но вот отправить файл просто не судьба...

InetSession = InternetOpen("VB Project", 0, vbNullString, vbNullString, 0)
If InetSession > 0 Then MsgBox "First Stage of connection"
Session = InternetConnect(InetSession, sServer, iPort, sLogin, sPassword, 3, 0, 0)
If Session > 0 Then MsgBox "Second Stage of connection"
If FtpPutFile(Session, "C:\1.txt", "1.txt", FTP_TRANSFER_TYPE_UNKNOWN, 0) = True Then
MsgBox "YPA!!!"
End If
Call InternetCloseHandle(hSession)
Call InternetCloseHandle(hINetSession)
Где ошибка???
...
Рейтинг: 0 / 0
Передача по FTP в VB
    #35092490
NessO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перерыла гору форумов и статей по FTP и VB, но так и не нашла ни одного
законченного примера про передачу по FTP.
Если прокси HTTP, то "некоторые функции FTP не работают", в частности GET и PUT.
И где же выход?
Пока забросила эту задачку и все вручную...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Передача по FTP в VB
    #36487569
Black Chaos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят вы пытаетесь через соединение HTTP отправить файл с помощью команд FTP это в корне не правильно!!! либо исправьте в строке
Session = InternetConnect(InetSession, sServer, iPort, sLogin, sPassword, 3, 0, 0)
3 заменить на 0
Session = InternetConnect(InetSession, sServer, iPort, sLogin, sPassword, 0, 0, 0)

тогда у вас отработает как надо загрузка на фтп!
если же вам так сильно надо через http протокол тыкаться, или использовать проксю то протокол выбран у вас правильно, одно НО команды выбраны не верны! для этого используются HttpOpenRequest и HttpSendRequest ^_^ если вам нужен код отправки на фтп без прокси, то с этим могу помочь (правда не асинхронный режим =( не сумел сделать, если через HTTP + proxy то с этим я сильно не помогу)
...
Рейтинг: 0 / 0
Передача по FTP в VB
    #36487572
Black Chaos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сории ошибся не 0 а 1 надо для FTP
Session = InternetConnect(InetSession, sServer, iPort, sLogin, sPassword, 1, 0, 0)
всего 3 позиции
1 - FTP
2 - Gopher
3 - HTTP
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Передача по FTP в VB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]