информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Сетевые кракеры и правда о деле ЛевинаSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Но ведь ему надо где-то взять настройки проксей? 18.08.04 10:46  Число просмотров: 1402
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
<programming>
[C++] Как программно управлять Internet Explorer 18.08.04 07:46  
Автор: null_system Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вопрос в следующем, проге необходимо получить доступ в Inet с параметрами IE (настройки безопасности, proxy и пр.). В идеале, получить объект IE и управлять им.
[C++] В идеале... 18.08.04 08:42  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
> Вопрос в следующем, проге необходимо получить доступ в Inet
> с параметрами IE (настройки безопасности, proxy и пр.). В
> идеале, получить объект IE и управлять им.
1) OLE. Можно создать объект IE в окне своего приложения. Но нахрена? ;-)
2) WinINet Functions. Можно использовать их. Потому что IE их использует ;-) И как раз настройки подключения на них распространяются 100%.
3) Юзать Socks. А настройки интернета взять из WinINet Functions ;-) Это гемор и изобретательство велосипеда.

Удачи.

WinINet Functions
Зачем чего-то брать из виннет, если юзать сокс? Просто... 18.08.04 10:02  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
> 3) Юзать Socks. А настройки интернета взять из WinINet
> Functions ;-) Это гемор и изобретательство велосипеда.

Зачем чего-то брать из виннет, если юзать сокс? Просто юзать сокс. Т.е. все руками на гольных сокетах. Да и потом он хочет, скорее всего только нттр от IE. Там сокс ему не нужен, ибо практически любой прокси поддерживает хттп-прокси. Другими словами, просто писать и читать в сокет проки. Без сокс.
Но ведь ему надо где-то взять настройки проксей? 18.08.04 10:46  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка>
[C++] Но ведь ему надо где-то взять настройки проксей? 19.08.04 01:18  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
Не понимаю... В простейшем случае, если сокс4, так ничего вроде и не надо... Конектимся к 1080 (редко кто меняет), говорим какой удалённый сокет хотим.... Пишем и читаем в сокс-сокет... Ниже избитый наколеношный пример - шлём мыло на mail.ru.

int main( void )
{
WSAData wsaData;

if (WSAStartup(0x202,(WSADATA *)&wsaData ))
{
printf("WSAStart error %d\n",WSAGetLastError());
return -1;
}

SOCKET sock;
sock=socket(AF_INET,SOCK_STREAM,0);
if ( sock < 0 )
{
printf("Socket() error %d\n",WSAGetLastError());
closesocket(sock);
WSACleanup();
return -1;
}

#define SOCKSSERVER "192.168.x.y"
#define SOCKSPORT 1080

sockaddr_in socks_addr;
socks_addr.sin_family = AF_INET;
socks_addr.sin_port = htons(SOCKSPORT);
socks_addr.sin_addr.s_addr= inet_addr(SOCKSSERVER);

if ( connect( sock,(sockaddr *)&socks_addr, sizeof(socks_addr)) )
{
printf("Connect error %d\n",WSAGetLastError());
closesocket( sock );
WSACleanup();
return -1;
}

_DWORD sin_addr = inet_addr( "194.67.23.10" );
_WORD sin_port = htons( 25 );

char sockscmd[9];
memset( sockscmd, 0, 9 );

sockscmd[0] = 4;
sockscmd[1] = 1;
memmove( &sockscmd[2], &sin_port, 2 );
memmove( &sockscmd[4], &sin_addr, 4 );

_send( sock, (_BYTE *) sockscmd, 9 , 0, 1 );
int num = _recv( sock, (_BYTE *) sockscmd, 8, 0 , 1);
if ( num != 8|sockscmd[1]!=90 )
{
printf("Socks request failed. Press any key ...\n");
closesocket(sock);
WSACleanup();
return -1;
}

char sndbuf[256];
char rcvbuf[256];

strcpy(sndbuf, "HELO mail.ru\r\n");

memset( rcvbuf, 0, 256 );
int rcvbytes = _recv( sock, (_BYTE *) rcvbuf, 256, 0, 1);
printf("%s\n",rcvbuf);

// HELO
printf("%s\n",sndbuf);
_send( sock, (_BYTE *) sndbuf, (_DWORD) strlen(sndbuf), 0, 1);
memset( rcvbuf, 0, 256);
rcvbytes = _recv( sock, (_BYTE *) rcvbuf, 256, 0, 1);
printf("%s\n",rcvbuf);

...
...

shutdown( sock, SD_SEND );
closesocket( sock );
WSACleanup();

return 0;
}
Вопрос в оснлвном в другом - эти настройки надо-либо выкопать... 19.08.04 02:56  
Автор: Killer{R} <Dmitry> Статус: Elderman
Отредактировано 19.08.04 02:57  Количество правок: 1
<"чистая" ссылка>
> Не понимаю... В простейшем случае, если сокс4, так ничего
> вроде и не надо... Конектимся к 1080 (редко кто меняет),
> говорим какой удалённый сокет хотим.... Пишем и читаем в
> сокс-сокет... Ниже избитый наколеношный пример - шлём мыло
> на mail.ru.

Вопрос в оснлвном в другом - эти настройки надо-либо выкопать из настроек ИЕ либо у юзера спросить. Причем если в винде несколько соединенй то надо проверять которое активно и тп. Кроме того не думаю что автору надо через сокс отправлять мыло. А скорее всего страничку забрать наскока я понял. На Internet API это десяток строчек, и никакого геморра с настройками проксей, обработкой SSL для https сайтов - зачем писать то что уже реализовано?
Вот откопал свой пример который когда то постил тут: http://www.bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=2&m=104272
Согласен, Виннет проще ;)) 19.08.04 05:13  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
[c++] спасибо всем. я решил вопрос через shdocvw.dll и mshtml.dll 19.08.04 07:13  
Автор: null_system Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach