1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaozhuai-cxxurl

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_CN.md 5.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 23:10 5378d7b

CXXCurl

CXXUrl — это библиотека C++ на основе libcurl, но она представляет собой нечто большее, чем просто объектно-ориентированную оболочку для curl.

В последней версии CXXUrl будет содержаться только заголовочный файл.

Если вы хотите узнать больше о curl, посетите http://curl.haxx.se/.

Под лицензией MIT. Автор: xiaozhuai — xiaozhuai7@gmail.com.

Сборка

Используйте cmake для сборки проекта.

$ cd /path/to/cxxurl
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make check # Запустить тестовые случаи

Запуск примеров

После завершения сборки вы можете запустить некоторые примеры.

$ ../example_server/start_server # Чтобы запустить пример, запустите HTTP-сервер (требуется PHP > 5.6)
$ ./example_get

Установка

Просто скопируйте файлы из src/cxxurl в нужное место!

Примеры и использование

Вы можете найти исходный код всех примеров в каталоге example.

  • Get См. examples/example_get.cpp. Чтобы инициировать запрос GET и получить вывод, это всё, что вам нужно сделать. Что касается анализа тела, мы предоставляем анализатор JSON. См. examples/example_parse_json_body.cpp. Благодарим https://github.com/nlohmann/json. Вы можете просто изменить contentOutput на экземпляр класса ofstream, чтобы завершить загрузку. См. examples/example_download.cpp. Если вам нужен вывод заголовков ответа, см. examples/example_response_header.cpp. Конечно, мы также предоставляем анализатор. См. examples/example_parse_response_header.cpp.

    • Post Инициирование запроса POST может быть немного сложнее, чем GET, но всё равно это очень просто. См. examples/example_post.cpp. CXXUrl предоставляет три типа форм: SimpleForm, MultipartForm и RawRequestBody.

      • SimpleForm — только пары ключ-значение (application/x-www-form-urlencoded).
      • MultipartForm — файлы и пары ключ-значение (multipart/form-data).
      • RawRequestBody — двоичные данные (raw request body).
    • Https См. examples/example_get_https_enable.cpp. Для некоторых веб-сайтов вы также можете отключить проверку SSL, например, .verifySSL(false). См. examples/example_get_https_disable.cpp.

    • Настройка заголовков запросов Настройка заголовков запросов аналогична использованию форм. См. examples/example_set_request_header.cpp. Вы можете установить некоторые часто используемые заголовки, такие как userAgent и referer, с помощью этих методов: .userAgent(...) и .referer(...).

    • Cookies Давайте поговорим о cookies. Предположим, нам нужно войти на веб-сайт, сохранить cookie успешного входа в файл, а затем включить этот cookie при следующем посещении. См. examples/example_cookie.cpp.

    • Собственные параметры CURL Если вы хотите использовать собственные параметры CURL, см. examples/example_use_curl_option.cpp. Этот пример полностью эквивалентен первому примеру (GET), но использует .curlOptionString(CURLOPT_URL, "http://xiaozhuai.github.io") вместо .url("http://xiaozhuai.github.io").

    • RequestBuilder RequestBuilder, как следует из его названия, является просто конструктором. Он предназначен для упрощения кода, и вы можете не использовать его. См. examples/example_without_request_builder.cpp.

Итак, какой способ вам нравится больше?

Наконец

Спасибо cURL.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xiaozhuai-cxxurl.git
git@api.gitlife.ru:oschina-mirror/xiaozhuai-cxxurl.git
oschina-mirror
xiaozhuai-cxxurl
xiaozhuai-cxxurl
master