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

Вниз

Как наладить HTTP/HTTPS прокси через IdTCPClient?   Найти похожие ветки 

 
Aleksandr.   (2005-01-11 12:06) [0]

Пользователи начали плакаться, что злобные сисадмины не открывают порт, нужный программе для соединения по TCP с сервером, а для меня эти прокси - вообще незнакомая область. Поглядел я на настройки аськи, покопался с Indy 10, начал делать по образу и подобию. С socks 4-5 все понятно - у IdSocksInfo есть готовые типы vsSocks4-5, а вот что и как сделать с еще двумя пунктами - HTTP и HTTPS? Ничего вразумительного в доках Indy не нашел, сложилось впечатление, что в них вообще эти виды проксей не присутствуют.


 
Seeker ©   (2005-01-11 12:28) [1]

Там все просто, нужно при коннекте послать строку типа
"CONNECT "+Host+":"+Port+" HTTP/1.1"+CRLF+"User-agent: Мой агент"+CRLF+CRLF;
Проанализировать ответ на установление коннекта и вперед.


 
Reindeer Moss Eater ©   (2005-01-11 12:35) [2]

Там не все так просто.
Если прокси требует авторизации, надо будет еще писать её собственную реализацию.
Проще использовать готовый HTTPPort


 
Aleksandr.   (2005-01-11 12:43) [3]

Seeker © :
Спасибо. Странно, у Indy 10 есть какое-то HTTP Tunneling proxy - там нечто подобное в командах, только "HTTP/1.0", соединение устанавливается, но когда я приступаю к чтению буфера, в нем оказывается HTML текст типа страница недоступна и прочее. Может, это то, что надо, просто криво сделано или криво мной обрабатывается?

Reindeer Moss Eater © :
HTTPPort - это что?


 
Seeker ©   (2005-01-11 12:58) [4]


> типа страница недоступна и прочее

Это ответ прокси, его нужно пропустить.


 
Aleksandr.   (2005-01-11 13:08) [5]

Seeker ©  :
Да? А он, падла, не пропускается... я смотрел в IdHTTPTunnelingProxy - он там посылает эту команду, при получении текста, в котором есть ошибка 407, посылает команды с идентификацией, а потом делает чтение, пока чтение не закончится, чтобы пропустить все ответы. И вот после этого в буфере все равно оказывается эта порнография. То ли руки у авторов кривые, то ли я лыжи забыл снять...


 
Reindeer Moss Eater ©   (2005-01-11 13:09) [6]

Это программа, позволяющая работать через HTTP туннель тем программам, которые не имеют в себе поддержки HTTP туннелирующих прокси.


 
Seeker ©   (2005-01-11 13:09) [7]

Т.е. не пропустить, а проанализировать.
если он начинается с:
"HTTPS/1.0 200" или
"HTTPS/1.1 200"или
"HTTP/1.0 200"или
"HTTP/1.1 200" то соединение установленно, иначе нет соединения.
заголовок от прокси идет до CRLF+CRLF.

> Если прокси требует авторизации, надо будет еще писать её
> собственную реализацию.

Как правило базовый тип авторизации, добавляется модуль Base64
и одна строчка в отправляемый запрос.
Кстати такой тип соединения и есть  
> HTTP Tunneling proxy


 
Seeker ©   (2005-01-11 13:12) [8]


> Aleksandr.

Интересно куда ты коннектишься?


 
Reindeer Moss Eater ©   (2005-01-11 13:12) [9]

при получении текста, в котором есть ошибка 407,

Что и требовалось доказать.
От тебя хотят авторизацию.


 
Seeker ©   (2005-01-11 13:23) [10]

Тогда шли такую строку:

   s:=base64encode(user+":"+paswd);
   s:="Authorization: Basic "+s+CRLF+
      "Proxy-authorization: Basic "+s+CRLF;
   s:="CONNECT "+Host+":"+Port+" HTTP/1.0"+CRLF+
   "User-agent: Твой агент"+CRLF+
   s+ CRLF;


 
Aleksandr.   (2005-01-11 14:22) [11]

Seeker © :
У нас в нашей сети есть программа-сервер и HTTP-прокси. Я устанавливаю для TCPClient хост и порт компьютер, на котором программа-сервер и порт, на котором она сидит, а для IdHTTPTunnelingProxy хостом имя прокси-сервера и его порт. Насчет Encode понял, счас истчо попробую.



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

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

Наверх




Память: 0.49 MB
Время: 0.024 c
3-1108428160
Витёк
2005-02-15 03:42
2005.03.13
Добавить поле в DBF, используя ADO


14-1109143869
Vasya.ru
2005-02-23 10:31
2005.03.13
блин, Builder самв режим замены текста переходит


1-1109370176
Packman
2005-02-26 01:22
2005.03.13
Работа с компонентом.


4-1106860078
Unknown
2005-01-28 00:07
2005.03.13
Окно сзади


14-1108899022
07BB:080Dh
2005-02-20 14:30
2005.03.13
Кто нибудь на работе слушает "Красную плесень"?