Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ftp через HTTP proxy / 13 сообщений из 13, страница 1 из 1
19.03.2010, 17:18
    #36531580
Игорь С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Подскажите, почему не удается получить файл через Прокси.

Есть примеры(фрагменты): когда используются функции
Вариант1:
InternetOpen
hConnection=InternetConnect( ...
HTTPOpenRequest(hConnection,"GET","ftp://" & userName & ":" & sPassword & "@" & ftpServ & "/public_ftp" ....
HTTPSendRequest
HttpQueryInfo
InternetSetOption - для задания логина и пароля Прокси.

Этот вариант отвечает, что URL не найден. Где ошибка в URL?

Сделал пример с функцией InternetOpenURL:
Вариант2:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
hOpen = InternetOpen("Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914) ", _
                      INTERNET_OPEN_TYPE_PROXY, _
                      proxyName, _
                      vbNullString, _
                       0 )

    strURL = "ftp://" & userName & ":" & userPwd & "@" & ftpServ & "/public_ftp/

     hOpenURL = InternetOpenUrl(hOpen, _
                            strURL, _
                            vbNullString, _
                             0 , _
                            INTERNET_FLAG_RELOAD, _
                             0 )

     iRet = HttpQueryInfo(hOpenURL, HTTP_QUERY_FLAG_NUMBER Or HTTP_QUERY_STATUS_CODE, dwStatus, Len(dwStatus), iIndex)			
     if dwStatus = HTTP_STATUS_PROXY_AUTH_REQ Then	
     	iRet = InternetSetOption(hOpenURL, INTERNET_OPTION_PROXY_USERNAME, proxyUserName, Len(proxyUserName) +  1 )
 	iRet = InternetSetOption(hOpenURL, INTERNET_OPTION_PROXY_PASSWORD, proxyPassword, Len(proxyPassword) +  1 )
end if

Тоже не работает - не может пройти прокси: функции InternetSetOption вроде бы не работают, HTTPQueryInfo снова говорит, что требуется авторизация. Но ....!!!

Если из одной и той же формы запустить сначала первый пример, а затем второй (не закрывая форму) то второй пример не потребует авторизации и выдаст HTML - файл -содержание папки, которую задам.

Подскажите, чего не хватает в примерах ...
...
Рейтинг: 0 / 0
19.03.2010, 17:43
    #36531655
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Намек: HTTP и FTP это два разных протокола.
...
Рейтинг: 0 / 0
19.03.2010, 18:44
    #36531799
Игорь С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Намек понял. У меня Прокси только HTTP, поэтому в соответствии с рекомендациями support.microsoft.com используются указанные функции а не (FtpOpenFile и т.д.), но почему они не работают?
...
Рейтинг: 0 / 0
22.03.2010, 19:21
    #36535487
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Игорь СНамек понял. У меня Прокси только HTTP, поэтому в соответствии с рекомендациями support.microsoft.com используются указанные функции а не (FtpOpenFile и т.д.), но почему они не работают?Потому и не работают что ты пытаешься их смешивать. Используй ТОЛЬКО Internet*() функции, не трогай HTTP*().
...
Рейтинг: 0 / 0
23.03.2010, 15:57
    #36537423
Игорь С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Как раз они только и работают, когда я их смешиваю.
Во втором случае я использую только HTTPQueryInfo.
Но почему для хендла hOpenURL не передаются сведения для авторизации с помощью InternetSetOption?
...
Рейтинг: 0 / 0
23.03.2010, 17:39
    #36537809
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Игорь СКак раз они только и работают, когда я их смешиваю.
Во втором случае я использую только HTTPQueryInfo.
Но почему для хендла hOpenURL не передаются сведения для авторизации с помощью InternetSetOption?Потому что hOpenURL это уже конкретный запрос, конкретного файла. А тебе надо задать параметры выхода в сеть...
Устанавливай InternetSetOption() на hOpen, до вызова InternetOpenUrl().
...
Рейтинг: 0 / 0
24.03.2010, 12:52
    #36539300
Игорь С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Уважаемый Белый Филин! Спасибо за участие!
InternetSetOption на хендл hOpen дает неуспешное выполнение (0), а на хендл hOpenUrl дает успешное завершение (1)
Что-то здесь не так.
...
Рейтинг: 0 / 0
24.03.2010, 17:58
    #36540521
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Игорь СInternetSetOption на хендл hOpen дает неуспешное выполнение (0), а на хендл hOpenUrl дает успешное завершение (1)
Что-то здесь не так.А это, скорее всего, потому что опции задаются не совсем правильно :)
Читай вот тут: http://msdn.microsoft.com/en-us/library/aa385384%28VS.85%29.aspx
...
Рейтинг: 0 / 0
24.03.2010, 18:17
    #36540574
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
> Автор: Игорь С
> InternetSetOption на хендл hOpen дает неуспешное выполнение (0), а на хендл hOpenUrl дает успешное завершение (1)

И что говорит GetLastError? Или InternetGetLastResponseInfo?

> Что-то здесь не так.

Ага, это не правильные пчелы. И мед у них не правильный. (с) Винни-Пух

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25.03.2010, 15:17
    #36542521
Игорь С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
InternetGetLastResponseInfo говорит
...
Рейтинг: 0 / 0
25.03.2010, 15:21
    #36542536
Игорь С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
InternetSetOption error code: 12018 Mesage: The supplied handle is the wrong type for the requested operation.

Т.е. к hOpen эта опция не применима.
...
Рейтинг: 0 / 0
25.03.2010, 17:24
    #36542952
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Игорь СInternetSetOption error code: 12018 Mesage: The supplied handle is the wrong type for the requested operation.

Т.е. к hOpen эта опция не применима.Я ж тебе ссылку на MSDN дал. Почитай ее, если нам не веришь. Там же на самой перевой странице есть абзац специально по твоей проблеме с явным указанием куда надо авторизацию ставить.
...
Рейтинг: 0 / 0
31.03.2010, 17:55
    #36553697
Игорь С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ftp через HTTP proxy
Спасибо, уважаемый Белый Филин.
Мой ответ адресовался вообще-то Игорю, что писал про Винни-Пуха.

Я читал пункт MSDN, о котором Вы сообщаете, но, видимо где-то даю ошибку.
Поразбираюсь немного и снова прошу разрешения обратиться за "поддержкой" ... И.С.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ftp через HTTP proxy / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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