Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.6 MB
Время: 0.012 c
1-1145263745
Экспериментатор
2006-04-17 12:49
2006.05.28
Что не так? Выдает Access Violation на 0000 0000


15-1146384583
Rule
2006-04-30 12:09
2006.05.28
Нет ли желания сделать мастак пати ???


2-1147406447
Elen
2006-05-12 08:00
2006.05.28
Настройки Delphi


15-1146336501
Tack
2006-04-29 22:48
2006.05.28
Функции перекодирования безопасных URL


1-1145257574
MegaVolt
2006-04-17 11:06
2006.05.28
Как убить поток?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский