Новое на блоге
Посетители
ТОП ПОЛЬЗОВАТЕЛЕЙ
    
Счётчики



    Анализ интернет сайта



Партнеры Сайта
Тема дня
Чат
    
    
    
    Написалfreddy777
    14 января 2013
    bata,
    +1
    
    Написалbata
    14 января 2013
    admin,
    Он наверняка не знает даже что такое безопасный режим, он же школьник который качает все что видит.
    
    Написалadmin
    14 января 2013
    fcmzultras,зайти в безопасном режиме с поддержкой командной строки и удалить винлок.
    
    Написалfcmzultras
    14 января 2013
    вылез экран виндовс заблокирован чо делать как убрать
    
    НаписалColboii
    13 января 2013
    smile-03
    
    Написалexploit
    13 января 2013
    SellerWOT,
    это у хостинга проблемы. лалка. еще до этой ддос проги
    
    НаписалSellerWOT
    13 января 2013
    http://tau.rghost.ru/43009913/ima
    ge.png
    
    НаписалSellerWOT
    13 января 2013
    хахахаха ржу не могу тык
    
    Написалfcmzultras
    13 января 2013
    кто знает как на дедике убрать?
    
    Написалfcmzultras
    13 января 2013
    блин дедик теперь полетел

    Только зарегистрированные посетители могут писать в чате.
Подписки на новости
Использование прокси в программе
Автор: admin | Дата: 25-12-2011, 10:03 | Комментариев: 0 | Просмотров: 1138
Сейчас покажу, как нужно использовать различные типы прокси в запросах на Indy. Прокси будем брать из Edit1 и делить на адрес и порт.
Самое простое это использовать HTTP-прокси:

IdHTTP1.ProxyParams.ProxyServer:=Copy(Edit1.Text,1,Pos(':',Edit1.Text)-1);
IdHTTP1.ProxyParams.ProxyPort:=StrToInt(Copy(Edit1.Text,Pos(':',Edit1.Text)
+1,Length(Edit1.Text)));


Всё предельно понятно и просто.

Для использования SOCKS4 и SOCKS5 кроме компонента IdHTTP1 требуются компонент IdSocksInfo (вкладка Indy Misc) и компонент IdSSLIOHandlerSocketOpenSSL (вкладка Indy I/O Handlers).
В IdSocksInfo указываем тип прокси (svSocks4 или svSocks5), адрес и порт, а также выставляем свойство Authentication в saNoAuthentication:

IdSocksInfo1.Version:=svSocks4;
IdSocksInfo1.Host:=Copy(Edit1.Text,1,Pos(':',Edit1.Text)-1);
IdSocksInfo1.Port:=StrToInt(Copy(Edit1.Text,Pos(':',Edit1.Text)+1,
Length(Edit1.Text)));
IdSocksInfo1.Authentication:= saNoAuthentication;


И присоединяем IdSocksInfo1 к IdSSLIOHandlerSocketOpenSSL1, а IdSSLIOHandlerSocketOpenSSL1 к IdHTTP1:

IdSSLIOHandlerSocketOpenSSL1.TransparentProxy:=IdSocksInfo1;
IdHTTP1.IOHandler:=IdSSLIOHandlerSocketOpenSSL1;


После этого можно делать запрос. Запрос я делал на страницу moi-ip.ru, где на странице отображается IP запрашиваемого. И парсим из ответа IP адрес, который выводим в Memo. Если всё верно и прокси хороший, то используемый прокси и выведенный в Memo должны совпасть.

Использование прокси в программе


В качестве бонуса в программе показано, как можно показывать прогресс получения ответа сервера. Он отображается в компоненте Gauge (можно также использовать ProgressBar). В самом начале запроса (IdHTTP1WorkBegin) из заголовков ответа сервера из поля Content-Length берем длину получаемого ответа (обращаю внимание, что такого заголовка может не быть, а значит не всегда можно знать, какой длины будет ответ). И свойству MaxValue присваиваем это значение:

Gauge1.MaxValue:=strtoint(Pars('Content-Length: ', idhttp1.Response.RawHeaders.Text, #13#10));


А во время получения ответа (IdHTTP1Work) (а приходит он частями) изменяем свойство Progress:

Gauge1.Progress:=AWorkCount;


В результате у нас будет наглядное изображение прогресса загрузки страницы.

[Скачать] исходник взято с avtuh.ru

Уважаемый гость, чтобы иметь возможность скачивать любые файлы
и в полной мере использовать возможности сайта без ограничений,
мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим логином.
Репа: 3
  • Написал: ingushmen
  • Дата: 7 июля 2012 00:05
  • Новостей: 6
  • Комментариев: 86
IdSSLIOHandlerSocketOpenSSL в делфи 7 нет. Надо качать инди 10

Репа: 0
  • Написал: GlobaToR
  • Дата: 11 октября 2012 20:57
  • Новостей: 0
  • Комментариев: 3
Вопрос.
Если делать программу с выбором прокси (пример, RadioButton1 это HTTP (S), а RadioButton2 аналогичный первому Socks 4/5), то работать с if?

Еще один вопрос.
Как брать прокси из переменной (к примеру, Proxy) вида TSringList? (так же как и Memo)?

GlobaToR нравится это.
Copyright ©
Репа: 4
  • Написал: klychev
  • Дата: 11 октября 2012 21:06
  • Новостей: 12
  • Комментариев: 64
GlobaToR, Да.

Для примера:
if Proxy>=ProxyList.Count then
begin
Proxy:=0;
end
else
begin
Form1.IdSocksInfo1.Version:=svSocks5;
Form1.IdSocksInfo1.Host:=Copy(ProxyList[Proxy],1,Pos(':',ProxyList[Pro
xy])-1);
Form1.IdSocksInfo1.Port:=StrToInt(Copy(ProxyList[Proxy],Pos(':',ProxyL
ist[Proxy])+1,Length(ProxyList[Proxy])-Pos(':',ProxyList[Proxy])));
Form1.IdSocksInfo1.Authentication:=saNoAuthentication;
end;

Добавление комментария
Имя:*
E-Mail:
Введите код: *

Последние сообщения с форума

Название темы Автор Статистика Последнее сообщение
Rozdacha ot Freda

Тема в разделе:Халява

freddy777

Просмотров: 10901

Ответов: 214

Автор: xscorpionx

14-01-2013, 05:14

Обмен способов зарабатка

Тема в разделе:Халява

Vizor0_O

Просмотров: 106

Ответов: 5

Автор: Zarif

14-01-2013, 03:21

Продажа Steam от freddy777(дёшево)

Тема в разделе:Аккаунты

freddy777

Просмотров: 778

Ответов: 12

Автор: freddy777

14-01-2013, 03:11

Аккаунты Танки Онлайн

Тема в разделе:Аккаунты

freddy777

Просмотров: 59

Ответов: 2

Автор: freddy777

14-01-2013, 03:09

Почты @yandex.ru [online sell]

Тема в разделе:Купля/Продажа

noname13z

Просмотров: 13

Ответов: 0

Автор: noname13z

14-01-2013, 01:32