Как подключиться к удаленному серверу через прокси в Win32 API? - PullRequest
1 голос
/ 18 мая 2011
// try to connect to server
if ((Status = connect(sock_server, &serverSockAddr, sizeof(serverSockAddr))) < 0)
{
    SockSend(sock_client, "404 Host Not Found\n\n", 20);
    SockClose(sock_client);
    return 1;
}

// send client's req to server
SockSend(sock_server, buf, strlen(buf));

Выше приведен код connect для удаленного сервера без прокси, как я могу это сделать с прокси?

Ответы [ 3 ]

0 голосов
/ 18 мая 2011

Использование Winsock API для такого типа вещей почти никогда не является правильным выбором.Использование WinHTTP или WinINET - гораздо более простой способ, и он позволит вам избежать написания тысяч строк кода.

0 голосов
/ 18 мая 2011

Я предполагаю, что HTTP прокси.

Вы подключаетесь к прокси, а затем запускаете GET или любой другой HTTP, который вы хотите сделать.Вы должны будете убедиться, что GET имеет домен + ресурс, такой как

GET stackoverflow.com/ HTTP/1.0
Host: stackoverflow.com

Документы RFC для HTTP 1.0 и 1.1 будут детализированы подробнее.Для других типов прокси вам нужно будет оставить отзыв.

0 голосов
/ 18 мая 2011

Функция InternetOpen позволяет указать прокси. Затем можно вызвать функцию InternetConnect. InternetConnect дает вам небольшой выбор портов сервера для подключения. Я не вижу способа достичь произвольного номера порта на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...