Поиск:

Ответ в темуСоздание новой темы Создание опроса
> простейший браузер с прокси, как сделать? 
:(
    Опции темы
Great Cornholio
Дата 19.6.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.6.2008

Репутация: 1
Всего: 1



нужно создать простейший веб браузер с использованием прокси-серверов. Как это сделать?smile . В вэб программировании я полный нуб( с модемом далеко не уйдёшь ))), так что терминологию поясняем)).
PM   Вверх
Alca
Дата 20.6.2008, 00:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



A Simple Http Proxy Server.zip

Присоединённый файл ( Кол-во скачиваний: 40 )
Присоединённый файл  A_Simple_Http_Proxy_Server.zip 6,60 Kb


--------------------
PM WWW ICQ Skype Jabber   Вверх
Great Cornholio
Дата 20.6.2008, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.6.2008

Репутация: 1
Всего: 1



хм, что-то ниасилил, как юзать(и вообще, что это конкретно?).
PM   Вверх
gather
Дата 21.6.2008, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Rescue Officer
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 13.6.2007
Где: Russia, Lipetsk

Репутация: нет
Всего: 4



Цитата(Great Cornholio @  19.6.2008,  23:21 Найти цитируемый пост)
В вэб программировании я полный нуб

WEB программирование в полном понятии данного слова тут не причем.

Вам необходимо понять как работает Proxy сервер.
Как происходит обмен данными между браузером и сервером, на котором находится сайт. 

Это для начала. А потом можно уже дальше делать.

Да, и еще, все таки стоит учить язык программирования, а не пытаться "выехать" на кусках кода, непонятно как работающих.  smile 
PM MAIL WWW Skype GTalk Jabber   Вверх
Great Cornholio
Дата 22.6.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.6.2008

Репутация: 1
Всего: 1



хм. Да, наверное надо. Ну, хотя бы подскажите, какие компоненты надо юзать.
PM   Вверх
gather
Дата 26.6.2008, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Rescue Officer
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 13.6.2007
Где: Russia, Lipetsk

Репутация: нет
Всего: 4



Great Cornholio, sockets, RFC.
Только это не визуальные компоненты.
PM MAIL WWW Skype GTalk Jabber   Вверх
Great Cornholio
Дата 28.6.2008, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 19.6.2008

Репутация: 1
Всего: 1



А само окно браузера - TCppWebBrowser?
PM   Вверх
Alca
Дата 1.9.2008, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50





--------------------
PM WWW ICQ Skype Jabber   Вверх
gather
Дата 1.9.2008, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Rescue Officer
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 13.6.2007
Где: Russia, Lipetsk

Репутация: нет
Всего: 4



Цитата(Alca @ 1.9.2008,  10:27)
http://www.compdoc.ru/prog/cpp/proxyserver/

Ему не нужен сам прокси. Надо поддержку прокси.
Следовательно, прочитать документацию на Socks и HTTP проксирование.
PM MAIL WWW Skype GTalk Jabber   Вверх
Alca
Дата 2.9.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3993
Регистрация: 14.6.2006

Репутация: 25
Всего: 50



коннект через SOCKS4/5 прокси

Этот класс наследован от CSocket и позволяет устанавливать коннект через SOCKS4/5 прокси. Для того, чтобы установить соединение с сервером через прокси Вам достаточно вызвать всего одну функцию:
  

Этот класс наследован от CSocket и позволяет устанавливать коннект через SOCKS4/5 прокси. Для того, чтобы установить соединение с сервером через прокси Вам достаточно вызвать всего одну функцию:
 
Код

void SetProxy(int nProxyType,CString ProxyHost,int ProxyPort,
    CString ProxyUser="",CString ProxyPass="",BOOL bUseSocks5Logon=FALSE);


Параметры следующие:

- nProxyType указывает тип прокси, PROXYTYPE_SOCKS4 или PROXYTYPE_SOCKS5
- следующие два параметра указывают параметры прокси
- следующие три параметра необязательны. Они указывают, есть ли авторизация на SOCKS5.

Так же класс содержит следующие функции:

GetProxyPeerName
Наподобие GetPeerName в CAsyncSocket, но возвращает адрес сервера, с которым установлен коннект через прокси.

Код

BOOL IsSocksified();

Используется ли прокси?

Код

const int GetLastProxyError() const;

Возвращает последнюю ошибку прокси

Если Вы захотите использовать CSocksifiedSocket в качестве listen socket, то Вам необходимо переопределить следующую функцию:
virtual BOOL Listen(unsigned long serverIp,unsigned long &retProxyIp,int &retProxyPort);

serverIP это IP сервера, с которым уже установлен коннект через SOCKS прокси. Вы не можете использовать listen sockets через SOCKS прокси без первичного установления коннекта. retProxyIp возвращает ip ожидающего сокета на проксе, retProxyPort порт. Эти значения можно отправить на сервер, чтобы он знал как соединиться с прокси. После этого можно вызвать Accept безо всяких параметров. 

Почитать про SOCKS4/5 можно здесь http://www.socks.nec.com/socksprot.html

Переопределённую функцию Accept можно также вызывать без параметров для сокетов использующих прямое соединение. Здесь Listen socket сам по себе является accepted socket.

Чтоблы изменить базовый класс для CSocksifiedSocket, измените определение (definition) CSocksifiedBaseClass в SocksifiedSocket.h
Пример:

Коннект с сервером через прокси:
Код

CSocksifiedSocket sock;
sock.Create();
//Задаём параеметры прокси
sock.SetProxy(PROXYTYPE_SOCKS4,"192.168.0.1",1080);
//Соединяемся с сервером
sock.Connect(ftp.microsoft.com,21);


Как Вы видете, использовать класс достатосно просто. 

Создание ожидающего (listen) сокета:
Код

CSocksifiedSocket listsock;
sock.Create();
//Задаём параеметры прокси
listsock.SetProxy(PROXYTYPE_SOCKS4,"192.168.0.1",1080);
unsigned long primaryip;
//Заменяем первичный ip на ip сервера 
//     который будет коннектится на ожидающий (listen) сокет
...
unsigned long proxyip;
int proxyport;
//Создание ожидающего (listen) сокета на прокси сервере
listsock.Listen(primaryip,proxyip,proxyport);
//Говорим серверу ip и порт ожидающего (listen) сокета для коннекта 
//      
...
//Аксептим соединение
listsock.Accept();


Это сообщение отредактировал(а) Alca - 2.9.2008, 16:24


--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0876 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.