Как отправить С++ запрос на получение winsock?

Я пытаюсь написать битторрент-клиент, и мне нужно решить, как отправить HTTP-запрос GET на трекер с некоторыми конкретными параметрами, которые можно найти здесь: http://jonas.nitro.dk/bittorrent/bittorrent-rfc.html#anchor18

Я думаю, что почти понимаю, как открыть сокет, но как мне отправить запрос GET на С++ в Windows?

Любая помощь будет принята с благодарностью :)


person brnby    schedule 09.07.2012    source источник
comment
Если вы действительно хотите отправлять HTTP-запросы, использование сокета, вероятно, будет слишком сырым. Если вы не делаете это в качестве упражнения, вам следует стремиться к библиотеке HTTP, такой как curl, которая будет позаботьтесь обо всех сложных вещах HTTP для вас.   -  person ereOn    schedule 09.07.2012


Ответы (1)


Когда ваш TCP-сокет открыт, вам необходимо отправить HTTP-запрос GET. На самом деле это очень просто: нужно просто отправить через сокет серию текстовых строк, как описано, например, здесь:

http://www.jmarshall.com/easy/http/#sample

Вы заканчиваете свой запрос пустой строкой.

Затем вы ждете, пока сервер ответит, и скрещиваете пальцы...

В вашем случае все параметры будут в строке GET с параметрами после URL:

ПОЛУЧИТЬ URL?param1=value1¶m2=value2¶m3=value3

person BxlSofty    schedule 09.07.2012
comment
Это будет работать для любой тривиальной программы, но если OP хочет закодировать настоящий клиент BitTorrent, ему придется обрабатывать множество различных кодов возврата HTTP, сжатие, кодирование, кодирование URL-адресов и так далее. Ему лучше использовать библиотеку, которая уже делает это хорошо. - person ereOn; 09.07.2012