HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

работа с сокетом через прокси в С/С++
  #1  
Старый 25.03.2008, 15:44
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами: 9639320

Репутация: 38
По умолчанию работа с сокетом через прокси в С/С++

вот мой код мне надо чтобы он работал через прокси и чтобы задавалось имя пользователя и его пасс и он делал коннект через прокси
Код:
///.........................................................
int main()
{
///.........................................................
WSADATA wsaData;
    WSAStartup(MAKEWORD(2,0),&wsaData);
    SOCKET    sClient;
    char    szBuffer[1024];
    int    ret;
    struct sockaddr_in server;
    struct hostent    *host = NULL;
    char szServerName[1024];
    
    strcpy(szServerName, "192.168.0.1");

    // Создание сокета
    sClient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (sClient == INVALID_SOCKET)
    {
        
        return 1;
    }
    // Заполнение структуры с адресом сервера и номером порта
    server.sin_family = AF_INET;
    server.sin_port = htons(80);
    server.sin_addr.s_addr = inet_addr(szServerName);

    // Если указано имя, то перевод символьного адреса сервера в IP
    if (server.sin_addr.s_addr == INADDR_NONE)
    {
        host = gethostbyname(szServerName);
        if (host == NULL)
        {
            
            return 1;
        }
        CopyMemory(&server.sin_addr, host->h_addr_list[0],
            host->h_length);
    }
    // Соединение с сервером
    if (connect(sClient, (struct sockaddr *)&server,
        sizeof(server)) == SOCKET_ERROR)
    {
        
        return 1;
    }
//................................................................
}

//................................................................
если можна по быстрей PLS
 
Ответить с цитированием

  #2  
Старый 25.03.2008, 16:01
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

Программа-то что делает? Запрашивает некий Url? Если так, то коннект делай к проксе, а в гет/пост укажи урл к запрашиваемому сайту.
 
Ответить с цитированием

  #3  
Старый 25.03.2008, 16:15
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами: 9639320

Репутация: 38
По умолчанию

krypt3r клиент подключается к серверу через прокси и он должн зарегится в прокси сервере
 
Ответить с цитированием

  #4  
Старый 25.03.2008, 16:28
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

Авторизация на прокси происходит внутри GET/POST-запроса в поле
Код:
Proxy-Authorization: Basic bG9naW46cGFzcw==\r\n
где bG9naW46cGFzcw== - это логин и пасс, разделенные двоеточием и закодированные в Base64
 
Ответить с цитированием

  #5  
Старый 25.03.2008, 16:37
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами: 9639320

Репутация: 38
По умолчанию

krypt3r куда я его поставлю в моем случае
у меня ест имя пользователя и его пасс но как его задавать с помошью winsock ?

Последний раз редактировалось KSoniX; 25.03.2008 в 18:55..
 
Ответить с цитированием

  #6  
Старый 25.03.2008, 18:56
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами: 9639320

Репутация: 38
По умолчанию

помогите Pls или что ни кто не знает!
 
Ответить с цитированием

  #7  
Старый 26.03.2008, 00:54
x0man
Познающий
Регистрация: 24.02.2006
Сообщений: 34
С нами: 10635910

Репутация: 50
По умолчанию

Думаю стоит почтитать Rfc по Http аунтефикации...
 
Ответить с цитированием

  #8  
Старый 26.03.2008, 15:17
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 571
С нами: 10943066

Репутация: 1236


По умолчанию

используй WinInet API, с сокетами геморно и бессмысленно
__________________


snow white world wide
 
Ответить с цитированием

  #9  
Старый 26.03.2008, 15:25
zythar
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
С нами: 9596486

Репутация: 291


По умолчанию

вот что впринципе мона сделать. сначала приконектиться к проксе через браузер и просмотреть хидеры. потом скопипастить хидеры которые ты посылаешь в твою программу. тобишь написать что то типа этого
Код:
char headers[] = "хидеры которые посылаешь";
write(s, headers, sizeof headers);
 
Ответить с цитированием

  #10  
Старый 26.03.2008, 17:13
KSoniX
Познающий
Регистрация: 17.01.2008
Сообщений: 94
С нами: 9639320

Репутация: 38
По умолчанию

всем спасибо всё получилось

Последний раз редактировалось KSoniX; 27.03.2008 в 08:20..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IPDBrute...работа через прокси? iskand3r Skype, IRC, ICQ, Jabber и другие IM 9 12.01.2008 16:14
Прокси: Как вас вычислить если вы под анонимным прокси Geveres Статьи 0 19.11.2005 17:02



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


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




ANTICHAT ™ © 2001- Antichat Kft.