ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Не работает функция проверки HTTP прокси серверасервера
  #1  
Старый 04.08.2009, 12:14
Аватар для RumShun
RumShun
Постоянный
Регистрация: 27.10.2008
Сообщений: 380
Провел на форуме:
1249808

Репутация: 149
Отправить сообщение для RumShun с помощью ICQ
Question Не работает функция проверки HTTP прокси серверасервера

вобщем вот код
Код:
  TProxy = record
   adrIA:TInAddr; 
   adr:string[15];
   port:integer;
  end;
function checkHttp(Serv:String;Port:integer;proxy:TProxy):boolean;
var
 sock:TSocket;
 addr:TSockAddrIn;
 Buff: array[0..255] of char;
begin
 result:=false;
 FillChar(Addr.sin_zero, SizeOf(Addr.sin_zero), 0);
 addr.sin_family:=AF_INET;
 addr.sin_port:=htons(proxy.port);
 addr.sin_addr:=proxy.adrIA;
 connect(sock, @addr, SizeOf(addr));
 str:='CONNECT '+serv+':'+inttostr(port)+' HTTP/1.0\r\nUser-Agent: Opera/9.60\r\n';
 send(Sock,str,sizeof(str),0);
 FillChar(Buff,sizeof(Buff), 0);
 recv(sock2,Buff,sizeof(Buff),0);
 if buff[10]='2' then result:=true;
  closesocket(sock2);
end;
максимальное его упростил, пробовал уже и так и эдак, нифига не получаеться подвисает на
recv(sock2,Buff,sizeof(Buff),0);
потом ничего не принимает.
Цитата:
В RFC 2616 (HTTP 1.1) описаны следующие методы: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT.
Пролистав ниже по спецификации, читаем следующее о методе CONNECT: "Спецификация резервирует имя метода CONNECT для использования с прокси, которые могут динамически переключаться на работу в качестве туннеля (например, туннелирование SSL)". Далее идет ссылка на документ (draft-luotonen-web-proxy-tunneling-XX), некоторые выдержки из которого будут приводиться ниже. Этот документ описывает расширение протокола HTTP 1.x (не только 1.1, но и 1.0) для организации туннелирования TCP-based протоколов через веб-прокси. Теперь собственно о том, как это работает.
1. Клиент соединяется с HTTP Proxy, поддерживающим метод CONNECT.
2. Клиент посылает серверу строку вида "CONNECT target_host:target_port HTTP/1.x\r\nUser-Agent: User Agent\r\n"
3. В ответ на эту строку сервер может либо потребовать авторизацию, либо вернуть состояние удачного соединения либо ошибку.
вроде все просто, где чево не понимаю не могу найти.
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
По Www без следов foreva Чужие Статьи 34 11.02.2008 15:54
Proxy FAQ foreva Чужие Статьи 12 04.01.2008 12:15
Живые прокси xdx ICQ 111 15.04.2007 13:10
Прокси: Как вас вычислить если вы под анонимным прокси Geveres Статьи 0 19.11.2005 17:02
Защита Web приложений с помощью Apache и mod_security k00p3r Чужие Статьи 0 12.06.2005 20:51



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ