Пример HTTP-клиента на win32

Я хотел разработать один пример HTTP на платформе win32, который является асинхронным.

Я новичок в программировании win32, могу ли я узнать, что такое платформа api и library win32.

предоставляет HTTP-запрос на отправку и получение.

Я использую windows xp с VS 2005.

Если какой-либо пример доступен прямо в сети, укажите мне ссылку на него,

в отношении Vinayaka karjigi

Ответ 1

Вы можете использовать библиотеку WinHTTP. Здесь - образец асинхронного завершения.

Ответ 2

Window HTTP Services "предоставляет разработчикам API-интерфейс прикладного программирования HTTP (API) для отправки запросов по протоколу HTTP другим HTTP-серверам."

API HTTP Server "позволяет приложениям обмениваться данными через HTTP без использования Microsoft Internet Information Server (IIS)"

Ответ 3

В общем, я бы рекомендовал нечто кросс-платформенное, например cURL, POCO, Qt или Asio (довольно современный и приятный). Однако здесь приведен пример Windows с помощью IXMLHTTPRequest:

// TODO: error handling

#include <atlbase.h>
#include <msxml6.h>

HRESULT hr;
CComPtr<IXMLHTTPRequest> request;

hr = request.CoCreateInstance(CLSID_XMLHTTP60);
hr = request->open(
    _bstr_t("GET"),
    _bstr_t("https://www.google.com/images/srpr/logo11w.png"),
    _variant_t(VARIANT_FALSE),
    _variant_t(),
    _variant_t());
hr = request->send(_variant_t());

// get status - 200 if succuss
long status;
hr = request->get_status(&status);

// load image data (if url points to an image)
VARIANT responseVariant;
hr = request->get_responseStream(&responseVariant);
IStream* stream = (IStream*)responseVariant.punkVal;
CImage image = new CImage();
image->Load(stream);
stream->Release();

Ответ 4

Boost Asio - хорошая синхронная/асинхронная библиотека, в которой есть все необходимое для HTTP-серверов/клиентов. Он содержит несколько обширных примеров на серверах HTTP и соответствующих клиентах. Теперь, если вы новичок в С++, эта библиотека может быть немного загадочной. Вы всегда можете взглянуть на MSDN, если хотите больше с нуля.

Ответ 5

Это пример

https://github.com/pedro-vicente/lib_netsockets

Световая оболочка С++ для сокетов POSIX и Winsock

Он использует HTTP GET для извлечения файла с веб-сервера, а сервер и файл - это параметры командной строки. Удаленный файл сохраняется в локальной копии.