Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
работа с сокетом через прокси в С/С++ |

25.03.2008, 15:44
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме: 314553
Репутация:
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
|
|
|

25.03.2008, 16:01
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Программа-то что делает? Запрашивает некий Url? Если так, то коннект делай к проксе, а в гет/пост укажи урл к запрашиваемому сайту.
|
|
|

25.03.2008, 16:15
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме: 314553
Репутация:
38
|
|
krypt3r клиент подключается к серверу через прокси и он должн зарегится в прокси сервере
|
|
|

25.03.2008, 16:28
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Авторизация на прокси происходит внутри GET/POST-запроса в поле
Код:
Proxy-Authorization: Basic bG9naW46cGFzcw==\r\n
где bG9naW46cGFzcw== - это логин и пасс, разделенные двоеточием и закодированные в Base64
|
|
|

25.03.2008, 16:37
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме: 314553
Репутация:
38
|
|
krypt3r куда я его поставлю в моем случае
у меня ест имя пользователя и его пасс но как его задавать с помошью winsock ?

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

25.03.2008, 18:56
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме: 314553
Репутация:
38
|
|
помогите Pls или что ни кто не знает! 
|
|
|

26.03.2008, 00:54
|
|
Познающий
Регистрация: 24.02.2006
Сообщений: 34
Провел на форуме: 136883
Репутация:
50
|
|
Думаю стоит почтитать Rfc по Http аунтефикации...
|
|
|

26.03.2008, 15:17
|
|
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме: 1290766
Репутация:
1236
|
|
используй WinInet API, с сокетами геморно и бессмысленно
__________________
 
snow white world wide
|
|
|

26.03.2008, 15:25
|
|
Moderator - Level 7
Регистрация: 16.02.2008
Сообщений: 580
Провел на форуме: 1595333
Репутация:
291
|
|
вот что впринципе мона сделать. сначала приконектиться к проксе через браузер и просмотреть хидеры. потом скопипастить хидеры которые ты посылаешь в твою программу. тобишь написать что то типа этого
Код:
char headers[] = "хидеры которые посылаешь";
write(s, headers, sizeof headers);
|
|
|

26.03.2008, 17:13
|
|
Познающий
Регистрация: 17.01.2008
Сообщений: 94
Провел на форуме: 314553
Репутация:
38
|
|
всем спасибо всё получилось
Последний раз редактировалось KSoniX; 27.03.2008 в 08:20..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|