![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Indy 10 - IdFtp - HTTP Proxy with FTP support [D6, Win95/98, WinME, NT4, Win2k, WinXP]
clickmaker © (2006-01-24 10:12:00)Занимался ли кто-нибудь подключением к FTP через HTTP Proxy? Т.е. не реализованным в Indy TIdFtpProxyType::fpcmHttpProxyWithFtp
clickmaker (2006-01-26 13:19:00) [21]
> umbra © (26.01.06 11:40) [21]
я наверно надоел, но потести еще один вариант... )
походу надо коннектиться к проксе отдельно, он сам не перехватывает запросы
clickmaker (2006-01-26 12:08:00) [22]
> umbra © (26.01.06 11:40) [21]
мой запрос выглядит точно также...
но раз до прокси даже не достучаться, то не в этом дело
спасибо за содействие, буду дальше ковырять
umbra (2006-01-26 11:40:00) [23]2 clickmaker © (25.01.06 19:38) [18]
вот схема обмена пакетами между тоталом и проксей. получена сниффером. надеюсь, логин-пароль нигде не забыл убрать :)
---------Start info------------
Source IP : xxx.xxx.xxx.xxx
Source Port : 1138
Destination IP : yyy.yyy.yyy.yyy
Destination Port : xxxx
----------End info------------
GET ftp://ftp.activestate.com/HTTP/1.0
Host: ftp.activestate.com
User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows 9x)
Connection: close
----------End buffer------------
----------Start info------------
Source IP : yyy.yyy.yyy.yyy
Source Port : xxxx
Destination IP : xxx.xxx.xxx.xxx
Destination Port : 1138
----------End info------------
HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.5.STABLE12
Mime-Version: 1.0
Date: Thu, 26 Jan 2006 08:12:17 GMT
Content-Type: text/html
Content-Length: 1323
Expires: Thu, 26 Jan 2006 08:12:17 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Squid proxy-caching web server "
X-Cache: MISS from my.domain.net
Proxy-Connection: close
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: Cache Access Denied</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}PRE{font-family:sans-serif}--></STYLE>
</HEAD>
<BODY>
<H1>ERROR</H1>
<H2>Cache Access Denied</H2>
<HR noshade size="1px">
<P>
While trying to retrieve the URL:
<A HREF=" ftp://ftp.activestate.com/"> ftp://ftp.activestate.com/</A>
<P>
The following error was encountered:
<UL>
<LI>
<STRONG>
Cache Access Denied.
</STRONG>
</UL>
</P>
<P>Sorry, you are not currently allowed to request:
<PRE> ftp://ftp.activestate.com/</PRE>
from this cache until you have authenticated yourself.
</P>
<P>
You need to use Netscape version 2.0 or greater, or Microsoft Internet
Explorer 3.0, or an HTTP/1.1 compliant browser for this to work. Please
contact the <A HREF="mailto:webmaster">cache administrator</a> if you have
difficulties authenticating yourself or
<A
----------End buffer------------
----------Start info------------
Source IP : xxx.xxx.xxx.xxx
Source Port : 1139
Destination IP : yyy.yyy.yyy.yyy
Destination Port : xxxx
Basic Proxy authentication: mylogin:mypassword
----------End info------------
GET ftp://ftp.activestate.com/HTTP/1.0
Host: ftp.activestate.com
User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows 9x)
Proxy-Authorization: Basic Base64(mylogin:mypassword)
Connection: close
----------End buffer------------
----------Start info------------
Source IP : yyy.yyy.yyy.yyy
Source Port : xxxx
Destination IP : xxx.xxx.xxx.xxx
Destination Port : 1139
----------End info------------
HTTP/1.0 200 OK
Server: squid/2.5.STABLE3
Mime-Version: 1.0
Date: Wed, 25 Jan 2006 14:55:31 GMT
Content-Type: text/html
X-Cache: MISS from proxy.domain.net
Age: 62582
X-Cache: HIT from my.domain.net
Proxy-Connection: close
<!-- HTML listing generated by Squid 2.5.STABLE3 -->
<!-- Wed, 25 Jan 2006 14:55:32 GMT -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><TITLE>
FTP Directory: ftp://ftp.activestate.com/
</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}--></STYLE>
</HEAD><BODY>
<H2>
FTP Directory: <A HREF=" ftp://ftp.activestate.com/"> ftp://ftp.activestate.com</A>/</H2>
<PRE>
<A HREF="%2e%2e/"><IMG border="0" SRC=" http://proxy.infocom.kh.ua:3128/squid-internal-static/icons/anthony-dirup.gif" ALT="[DIRUP]"></A> <A HREF="%2e%2e/">Parent Directory</A> (<A HREF="%2f/">Root Directory</A>)
<A HREF="ActivePerl/"><IMG border="0" SRC=" http://proxy.infocom.kh.ua:3128/squid-internal-static/icons/anthony-dir.gif" ALT="[DIR] "></A> <A HREF="ActivePerl/">ActivePerl</A> . . . . . . . . . . . Dec 13 17:55
<A HREF="ActivePython/"><IMG border="0" SRC=" http://proxy.infocom.kh.ua:3128/squid-internal-static/icons/anthony-dir.gif" ALT="[DIR] "></A> <A HREF="ActivePython/">ActivePython</A> . . . . . . . . . . Jan 24 20:42
<A HREF="ActiveTcl/"><IMG border="0" SRC=" http://proxy.infocom.kh.ua:3128/squid-internal
----------End buffer------------
umbra (2006-01-26 10:42:00) [24]2 clickmaker © (25.01.06 19:38) [18]
прокси прописан айпишником. в пассивном режиме то же.
clickmaker (2006-01-26 10:39:00) [25]
> umbra © (25.01.06 19:17) [17]
да, забыл сказать: в настройках фтп-сайта надо включить галку Use firewall
clickmaker (2006-01-25 19:38:00) [26]
> umbra © (25.01.06 19:17) [17]
а хост и порт прокси явно прописаны?
в пассивном режиме та же фигня?
umbra (2006-01-25 19:17:00) [27]
> попробуй еще одну версию, там же выложил
все точно так же, как и раньше
umbra (2006-01-25 19:09:00) [28]
> а какой-нить другой ФМ, тотал коммандер, например, заходит
> при таких же настройках прокси?
тотал заходит. новую версию щас скачаю.
clickmaker (2006-01-25 18:56:00) [29]
> umbra © (25.01.06 18:07) [14]
а какой-нить другой ФМ, тотал коммандер, например, заходит при таких же настройках прокси?
попробуй еще одну версию, там же выложил
umbra (2006-01-25 18:07:00) [30]попробовал. получил "Socket error #11001. Host not found" и в логе прокси никаких следов запроса. Похоже, что до прокси запросы не доходят
clickmaker (2006-01-25 17:19:00) [31]
> umbra © (25.01.06 15:25) [12]
а попробуй, плиз, если не сложно
http://www.relaxander.webest.net/files/fn/fn171b.zip
в Commands - Configuration - FTP - Firewall settings - Type = HTTP Proxy
umbra (2006-01-25 15:25:00) [32]2 clickmaker © (25.01.06 14:05) [11]
я хожу через сквид.
насколько я понимаю,
1) отдельно коннектиться на него не надо. просто отсылается запрос а дальше прокси сам разбирается.
2) исходя из 1, похоже, что отдельного сокета не надо. но я не уверен.
3) он возвращает html. или запрошенный или с ошибкой. ну и коды http, конечно
clickmaker (2006-01-25 14:05:00) [33]
> Rouse_ © (25.01.06 10:55) [10]
Спасибо
Пока сделал своими силами с инди... Но вот потестить не могу
2 All: кто-нить ходит на фтп через http proxy c поддержкой ftp?
Rouse_ (2006-01-25 10:55:00) [34]Вот сегодня на нонейме наткнулся. Сам не смотрел, но погляди. может подойдет: http://doci.nnm.ru/all_of_/24.01.2006/ipworks_ssl_delphi_edition_601650_2/
Прямая ссылка на скачку: http://slil.ru/22522570
Что-то около 3 мегов.
clickmaker (2006-01-25 10:00:00) [35]тут остаются такие вопросы:
в принципе, формат авторизации понятен, это что-то типа
IdFtp.IOHandler.WriteLn('GET ' + FtpSiteUrl + ' HTTP/1.0');
IdFtp.IOHandler.WriteLn('Host: ' + FtpHost);
IdFtp.IOHandler.WriteLn('User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT)');
IdFtp.IOHandler.WriteLn('Proxy-Authorization: Basic ' + Base64EncodedUserPass);
IdFtp.IOHandler.WriteLn('Connection: close' + EOL);
но непонятно:
1. должен ли я отдельно коннектиться к этому прокси или он просто перехватывает авторизационный запрос?
2. Могу ли слать эти запросы через IdFtp.IOHandler или нужно создавать отдельный сокет?
2. что собссно должен вернуть прокси при успехе и обломе?
umbra (2006-01-24 16:03:00) [36]2 clickmaker © (24.01.06 13:34) [2]
да, и правда. В хелпе от инди 10 написано, что этот тип будет поддерживаться в инди 10 :)
Тогда остается типfpcmCustomProxy, но тогда в обработчикеOnCustomFTPProxyнадо генерировать запросы и парсить ответы
clickmaker (2006-01-24 15:11:00) [37]
> Rouse_ © (24.01.06 14:58) [6]
не-а, не хватит :)
FtpFindFirstFile не возвращает права доступа...
Приходится FtpCommand("list")
Rouse_ (2006-01-24 14:58:00) [38]Ну и в конце концов, разве тебе вот этого не хватит?
FtpCreateDirectory
FtpDeleteFile
FtpFindFirstFile
FtpGetCurrentDirectory
FtpGetFile
FtpGetFileSize
FtpOpenFile
FtpPutFile
FtpRemoveDirectory
FtpRenameFile
FtpSetCurrentDirectory
Rouse_ (2006-01-24 14:57:00) [39]Вообщето
Requires Windows XP, Windows 2000 Professional, Windows NT Workstation 4.0, Windows Me, Windows 98, or Windows 95.
Ну и в системных требованиях написать: Requires Internet Explorer 5.0 or later.
clickmaker (2006-01-24 14:08:00) [40]
> Rouse_ © (24.01.06 13:47) [3]
я его и юзал поначалу...
но в wininet FtpCommand есть только если стоит IE 5, а мне надо, чтоб под 95 и с любым IE