Форум: "Сети";
Текущий архив: 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