Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: CL | DM;

Вниз

Indy 10 - IdFtp - HTTP Proxy with FTP support   Найти похожие ветки 

 
clickmaker ©   (2006-01-24 10:12) [0]

Занимался ли кто-нибудь подключением к FTP через HTTP Proxy? Т.е. не реализованным в Indy TIdFtpProxyType::fpcmHttpProxyWithFtp


 
umbra ©   (2006-01-24 11:53) [1]

а в чем проблема?


 
clickmaker ©   (2006-01-24 13:34) [2]


> umbra ©   (24.01.06 11:53) [1]

соббсно в том, что в Indy 10 этот тип прокси не поддерживается...


 
Rouse_ ©   (2006-01-24 13:47) [3]

Настоящие индейцы юзают wininet :) Зачем тебе этот Indy сдался?


 
clickmaker ©   (2006-01-24 14:08) [4]


> Rouse_ ©   (24.01.06 13:47) [3]

я его и юзал поначалу...

но в wininet FtpCommand есть только если стоит IE 5, а мне надо, чтоб под 95 и с любым IE


 
Rouse_ ©   (2006-01-24 14:57) [5]

Вообщето
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.


 
Rouse_ ©   (2006-01-24 14:58) [6]

Ну и в конце концов, разве тебе вот этого не хватит?

FtpCreateDirectory
FtpDeleteFile
FtpFindFirstFile
FtpGetCurrentDirectory
FtpGetFile
FtpGetFileSize
FtpOpenFile
FtpPutFile
FtpRemoveDirectory
FtpRenameFile
FtpSetCurrentDirectory


 
clickmaker ©   (2006-01-24 15:11) [7]


> Rouse_ ©   (24.01.06 14:58) [6]

не-а, не хватит :)
FtpFindFirstFile не возвращает права доступа...
Приходится FtpCommand("list")


 
umbra ©   (2006-01-24 16:03) [8]

2 clickmaker ©   (24.01.06 13:34) [2]

да, и правда. В хелпе от инди 10 написано, что этот тип будет поддерживаться в инди 10 :)

Тогда остается тип fpcmCustomProxy, но тогда в обработчике OnCustomFTPProxy надо генерировать запросы и парсить ответы


 
clickmaker ©   (2006-01-25 10:00) [9]

тут остаются такие вопросы:
в принципе, формат авторизации понятен, это что-то типа
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. что собссно должен вернуть прокси при успехе и обломе?


 
Rouse_ ©   (2006-01-25 10:55) [10]

Вот сегодня на нонейме наткнулся. Сам не смотрел, но погляди. может подойдет: http://doci.nnm.ru/all_of_/24.01.2006/ipworks_ssl_delphi_edition_601650_2/

Прямая ссылка на скачку: http://slil.ru/22522570
Что-то около 3 мегов.


 
clickmaker ©   (2006-01-25 14:05) [11]


> Rouse_ ©   (25.01.06 10:55) [10]

Спасибо
Пока сделал своими силами с инди... Но вот потестить не могу

2 All: кто-нить ходит на фтп через http proxy c поддержкой ftp?


 
umbra ©   (2006-01-25 15:25) [12]

2 clickmaker ©   (25.01.06 14:05) [11]

я хожу через сквид.

насколько я понимаю,

1) отдельно коннектиться на него не надо. просто отсылается запрос а дальше прокси сам разбирается.

2) исходя из 1, похоже, что отдельного сокета не надо. но я не уверен.

3) он возвращает html. или запрошенный или с ошибкой. ну и коды http, конечно


 
clickmaker ©   (2006-01-25 17:19) [13]


> 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 18:07) [14]

попробовал. получил "Socket error #11001. Host not found" и в логе прокси никаких следов запроса. Похоже, что до прокси запросы не доходят


 
clickmaker ©   (2006-01-25 18:56) [15]


> umbra ©   (25.01.06 18:07) [14]

а какой-нить другой ФМ, тотал коммандер, например, заходит при таких же настройках прокси?

попробуй еще одну версию, там же выложил


 
umbra ©   (2006-01-25 19:09) [16]


> а какой-нить другой ФМ, тотал коммандер, например, заходит
> при таких же настройках прокси?

тотал заходит. новую версию щас скачаю.


 
umbra ©   (2006-01-25 19:17) [17]


> попробуй еще одну версию, там же выложил


все точно так же, как и раньше


 
clickmaker ©   (2006-01-25 19:38) [18]


> umbra ©   (25.01.06 19:17) [17]

а хост и порт прокси явно прописаны?
в пассивном режиме та же фигня?


 
clickmaker ©   (2006-01-26 10:39) [19]


> umbra ©   (25.01.06 19:17) [17]

да, забыл сказать: в настройках фтп-сайта надо включить галку Use firewall


 
umbra ©   (2006-01-26 10:42) [20]

2 clickmaker ©   (25.01.06 19:38) [18]

прокси прописан айпишником. в пассивном режиме то же.


 
umbra ©   (2006-01-26 11:40) [21]

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------------


 
clickmaker ©   (2006-01-26 12:08) [22]


> umbra ©   (26.01.06 11:40) [21]

мой запрос выглядит точно также...
но раз до прокси даже не достучаться, то не в этом дело

спасибо за содействие, буду дальше ковырять


 
clickmaker ©   (2006-01-26 13:19) [23]


> umbra ©   (26.01.06 11:40) [21]

я наверно надоел, но потести еще один вариант... )
походу надо коннектиться к проксе отдельно, он сам не перехватывает запросы


 
umbra ©   (2006-01-26 13:37) [24]

2 clickmaker ©   (26.01.06 13:19) [23]


> я наверно надоел,


да нет, мне самому интересно разобраться


 
umbra ©   (2006-01-26 13:43) [25]

2 clickmaker ©   (26.01.06 13:19) [23]


> потести еще один вариант


все осталось по-прежнему. в логе пусто.


 
clickmaker ©   (2006-01-26 15:37) [26]


> umbra ©   (26.01.06 13:43) [25]

и ошибка та же?


 
umbra ©   (2006-01-26 16:29) [27]

2 clickmaker ©   (26.01.06 15:37) [26]

прошу прощения, я пропустил пост о том, что галку надо поставить "Use firewall".

С этой галкой предпоследняя версия отмечается в логе, получает в ответ от прокси код 407 и выводит сообщение "Socket error 10054. Connection reset by peer". Сниффер выдает следующее:

----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
GET ftp://anonymous@ftp.activestate.com/ HTTP/1.0
----------End buffer------------
----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.5.STABLE12
Mime-Version: 1.0
Date: Thu, 26 Jan 2006 13:21:55 GMT
Content-Type: text/html
Content-Length: 1353
Expires: Thu, 26 Jan 2006 13:21:55 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Squid proxy-caching web server "
X-Cache: MISS from pfu.ic.kharkov.ua
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://anonymous@ftp.activestate.com/">ftp://anonymous@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://anonymous@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 a
----------End buffer------------
----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
GET ftp://anonymous@ftp.activestate.com/ HTTP/1.0
----------End buffer------------


Последняя версия наглухо виснет, сниффер не выдает ничего, как будто запроса вообще нет.


 
clickmaker ©   (2006-01-27 09:50) [28]


> umbra ©   (26.01.06 16:29) [27]
> ----------Start info------------
> Source IP        :
> Source Port      :
> Destination IP   :
> Destination Port :
> ----------End info------------
> GET ftp://anonymous@ftp.activestate.com/ HTTP/1.0


Получается, только 1-я строчка запроса дошла?.. Может разделять их нужно не cr\lf, а просто lf?
И еще вопрос: сам ftp url должен в GET передаваться с user:pass@host или просто host? а юзер-пасс как-нить отдельно?
можешь глянуть, как TC передает при не анонимном заходе?


 
umbra ©   (2006-01-27 11:28) [29]

2 clickmaker ©   (27.01.06 09:50) [28]


> Может разделять их нужно не cr\lf, а просто lf?

да нет, по стандарту вроде cr\lf надо


> сам ftp url должен в GET передаваться с user:pass@host или
> просто host?

Именно user:pass@host. Прокси после этого запроса посылает ФТП серверу команды типа USER, PASS. Если дать просто host, то прокси пошлет команду USER anonymous.


 
clickmaker ©   (2006-01-27 16:30) [30]


> umbra ©   (27.01.06 11:28) [29]

очередная версия fnftp.dll... может все-таки заработает
я попробовал с публичным прокси, на запрос он ответил, попросил авторизацию, но потом вылетел по таймауту...
может с нормальным сквидом запашет )
http://www.relaxander.webest.net/files/fn/fnftp.zip


 
umbra ©   (2006-01-27 17:03) [31]

Вот обмен запросами тотала для неанонимного ФТП

----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
GET ftp://gamezweb:ingyen@212.92.23.69/ HTTP/1.0
Host: 212.92.23.69
User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows 9x)
Connection: close

----------End buffer------------
----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.5.STABLE12
Mime-Version: 1.0
Date: Fri, 27 Jan 2006 13:52:07 GMT
Content-Type: text/html
Content-Length: 1329
Expires: Fri, 27 Jan 2006 13:52:07 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Squid proxy-caching web server "
X-Cache: MISS from pfu.ic.kharkov.ua
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://gamezweb@212.92.23.69/">ftp://gamezweb@212.92.23.69/</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://gamezweb@212.92.23.69/</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 o
----------End buffer------------
----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
Basic Proxy authentication:
----------End info------------
GET ftp://gamezweb:ingyen@212.92.23.69/ HTTP/1.0
Host: 212.92.23.69
User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows 9x)
Proxy-Authorization: Basic DsksdfskaSf=
Connection: close

----------End buffer------------
----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
HTTP/1.0 200 OK
Server: squid/2.5.STABLE3
Mime-Version: 1.0
Date: Fri, 27 Jan 2006 08:20:47 GMT
Content-Type: text/html
Age: 20222
X-Cache: HIT from proxy.infocom.kh.ua
X-Cache: MISS from pfu.ic.kharkov.ua
Proxy-Connection: close

<!-- HTML listing generated by Squid 2.5.STABLE3 -->
<!-- Fri, 27 Jan 2006 08:20:49 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://gamezweb@212.92.23.69/
</TITLE>
<STYLE type="text/css"><!--BODY{background-color:#ffffff;font-family:verdana,sans-serif}--></STYLE>
</HEAD><BODY>
<PRE>
--------- Welcome to Pure-FTPd [privsep] [TLS] ----------
You are user number 193 of 256 allowed.
Local time is now 09:17. Server port: 21.
This is a private system - No anonymous login
IPv6 connections are also welcome on this server.
Your bandwidth usage is restricted
User gamezweb has group access to:  3000    
This server supports FXP transfers
</PRE>
<HR noshade size="1px">
<H2>
FTP Directory: <A HREF="ftp://gamezweb@212.92.23.69/">ftp://gamezweb@212.92.23.69</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="!_GAMEZ.FEE.HU_!/"><IMG border="0" SRC="http://proxy.infocom.kh.ua:3128/squid-internal-static/icons/anthony-dir.gif" ALT="[DI
----------End buffer------------


 
umbra ©   (2006-01-27 17:06) [32]

а вот то же для FN:

----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
GET ftp://gamezweb:ingyen@212.92.23.69/ HTTP/1.0
Host: 212.92.23.69
User-Agent: Mozilla/4.0 (compatible; FN; Windows 9x)
Connection: close

----------End buffer------------
----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
----------End info------------
HTTP/1.0 407 Proxy Authentication Required
Server: squid/2.5.STABLE12
Mime-Version: 1.0
Date: Fri, 27 Jan 2006 13:58:35 GMT
Content-Type: text/html
Content-Length: 1329
Expires: Fri, 27 Jan 2006 13:58:35 GMT
X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
Proxy-Authenticate: Basic realm="Squid proxy-caching web server "
X-Cache: MISS from pfu.ic.kharkov.ua
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://gamezweb@212.92.23.69/">ftp://gamezweb@212.92.23.69/</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://gamezweb@212.92.23.69/</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 o
----------End buffer------------
----------Start info------------
Source IP        :
Source Port      :
Destination IP   :
Destination Port :
Basic Proxy authentication:
----------End info------------
GET ftp://gamezweb:ingyen@212.92.23.69/ HTTP/1.0
Host: 212.92.23.69
User-Agent: Mozilla/4.0 (compatible; FN; Windows 9x)
Proxy-Authorization: Basic SsfsfsfRdfbdfEWb=
Connection: close

----------End buffer------------


 
umbra ©   (2006-01-27 17:12) [33]

В FN осталась та же ошибка - 10054 "Connection reset by peer".
На уровне ХТТП-обмена бросается в глаза, что связь обрывается, и последний запрос ФН не доходит до прокси (о чем и говорит ошибка). А в лог прокси пишет последний отосланный ответ - код 407 "Proxy authentification required".


 
clickmaker ©   (2006-01-30 14:40) [34]


> umbra ©   (27.01.06 17:12) [33]

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

и я так понимаю, что строка "Connection: close" говорит о том, что соединение с прокси будет закрыто после того, как он отдаст ответ...
А как тогда сам клиент должен оставаться на связи с фтп-сайтом?


 
umbra ©   (2006-01-30 19:40) [35]

2 clickmaker ©   (30.01.06 14:40) [34]


> Т.е. отдельно процедуру логина непосредственно с клиента
> выполнять не надо?


не надо. по-моему, прокси сам это сделает на основе данных запроса


> строка "Connection: close" говорит о том, что соединение
> с прокси будет закрыто после того, как он отдаст ответ

ну да. это означает, что клиент не должен посылать новые запросы, получив ответ (в рфц написано). А для сервера это строка, скорее всего означает, что послав ответ, он может закрыть соединение. В общем, для каждого запроса соединение надо открывать новое.


> А как тогда сам клиент должен оставаться на связи с фтп-
> сайтом?


очевидно, для авторизации к проксе отдельно коннектиться не надо. надо просто в запросе сразу написать "Authentication: Basic тра-ля-ля".
Просто те пакеты, которые я приводил для тотала создавались, когда я каждый раз вручную вводил пароль. Сегодня я попробовал его указать в настройках, и получился один запрос с "Authentication: Basic тра-ля-ля" и ответ сервера ОК, после чего я зашел на фтп


 
clickmaker ©   (2006-01-31 15:27) [36]


> очевидно, для авторизации к проксе отдельно коннектиться
> не надо. надо просто в запросе сразу написать "Authentication:
>  Basic тра-ля-ля".

ну так по такому принципу же вроде "прозрачные" прокси работают. Т.е. перехватывают прямые запросы к фтп.
а сквид вроде можно как прозрачно настроить, так и нет.
Но в этом случае, мне надо что-ли просто законнектиться на фтп, а потом послать авторизационный запрос GET ля-ля-ля...  ? и прокся должна его поймать?


 
umbra ©   (2006-01-31 19:09) [37]

2 clickmaker ©   (31.01.06 15:27) [36]


> просто законнектиться на фтп, а потом послать авторизационный
> запрос GET ля-ля-ля...
>

как я понимаю на данный момент, надо послать запрос типа


GET ftp://gamezweb:ingyen@212.92.23.69/ HTTP/1.0
Host: 212.92.23.69
User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows 9x)
Proxy-Authorization: Basic ля-ля-ля
Connection: close


и анализировать код ответа прокси. Если он отвечает "200 ОК", значит ФТП соединение он установил и в теле ответа содержится список файлов в корневой папке ФТП сервера. Но после каждого ответа прокси закрывает соединение с клиентом (из-за строки "Connection: close" в запросе). Поэтому клиент при каждом запросе должен заново создавать соединение с проксей. Т.е. если я зашел на на ФТП и гуляю там по папкам, то сессия будет выглядеть так:


----------Start info------------
Source IP        :
Source Port      : 1265
Destination IP   :
Destination Port : 3128
----------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 ля-ля-ля
Connection: close

----------End buffer------------
----------Start info------------
Source IP        :
Source Port      : 3128
Destination IP   :
Destination Port : 1265
----------End info------------
HTTP/1.0 200 OK
Server: squid/2.5.STABLE3
Mime-Version: 1.0
Date: Tue, 31 Jan 2006 15:35:05 GMT
Content-Type: text/html
X-Cache: MISS from прокси1
X-Cache: MISS from прокси
Proxy-Connection: close

----------End buffer------------


здесь первое соединение закрывается. Нужна другая папка - заново коннектимся на проксю

----------Start info------------
Source IP        :
Source Port      : 1266
Destination IP   :
Destination Port : 3128
----------End info------------
GET ftp://ftp.activestate.com/ActiveTcl/ HTTP/1.0
Host: ftp.activestate.com
User-Agent: Mozilla/4.0 (compatible; Totalcmd; Windows 9x)
Proxy-Authorization: Basic ля-ля-ля
Connection: close

----------End buffer------------
----------Start info------------
Source IP        :
Source Port      : 3128
Destination IP   :
Destination Port : 1266
----------End info------------
HTTP/1.0 200 OK
Server: squid/2.5.STABLE3
Mime-Version: 1.0
Date: Tue, 31 Jan 2006 15:35:11 GMT
Content-Type: text/html
X-Cache: MISS from прокси1
X-Cache: MISS from прокси
Proxy-Connection: close

----------End buffer------------


 
clickmaker ©   (2006-01-31 19:57) [38]


> umbra ©   (31.01.06 19:09) [37]

однако не так все просто, как казалось...
я наивно думал, что достаточно вначале прилипнуть к проксе и дальше гулять по фтп сколько угодно...
или может проблему можно решить так:
Connection: Keep-Alive
Proxy-Connection: Keep-Alive


 
umbra ©   (2006-01-31 20:36) [39]

2 clickmaker ©   (31.01.06 19:57) [38]


> или может проблему можно решить так:
> Connection: Keep-Alive

не похоже на то. Вот что пишет в запросе по этому поводу Файерфокс


GET ftp://ftp.activestate.com/ HTTP/1.0
Host: ftp.activestate.com
Keep-Alive: 300
Proxy-Connection: keep-alive
Proxy-Authorization: Basic ля-ля-ля


На что сквид отвечает Proxy-Connection: close

и ФФ все равно на каждый запрос открывает соединение заново. Вообще в рфц написано, что если клиент в запросе обозначает, что работает по ХТТП 1.0, то прокси должен закрывать соединение после ответа. Возможно, поддержка живого соединения зависит от настроек прокси. В любом случае на это полагаться не стоит, поскольку в том же рфц написано, что прокся может закрыть соединение вообще в любой момент и клиенты должны быть готовы автоматически законнектиться на сервер и повторить запрос


 
clickmaker ©   (2006-02-01 12:48) [40]


> umbra ©   (31.01.06 20:36) [39]

отсюда напрашивается такая логика:
перед выполнением кажой фтп-команды, заново коннектиться к проксе, команду слать вместе с запросом Proxy-Authorization: Basic ля-ля-ля

получается, что если я хочу загрузить файл, то должен сказать что-то типа
CWD /images/
STOR images.zip (кстати, могу ли я слать сразу несколько команд?)
Host: ftp.activestate.com
Proxy-Authorization: Basic ля-ля-ля

а как же в этом случае сам прокси авторизуется на фтп?



Страницы: 1 2 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.61 MB
Время: 0.03 c
3-1144434747
Alex Romanskiy
2006-04-07 22:32
2006.05.28
Картинка в DBGridEh


1-1145536501
comtat
2006-04-20 16:35
2006.05.28
Строки ->Формулы


1-1145444485
solenko
2006-04-19 15:01
2006.05.28
Вызов функции во время выполнения


3-1144133389
Cybernik
2006-04-04 10:49
2006.05.28
Проблемы с IBQuery. Мистика какая-то..


2-1147193334
BAngel
2006-05-09 20:48
2006.05.28
свой указатель мышки