同步操作将从 杭州朝厚信息科技有限公司/cpr 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
cpr
moved to a new home from https://github.com/whoshuu/cpr to https://github.com/libcpr/cpr. Read more here.C++ Requests is a simple wrapper around libcurl inspired by the excellent Python Requests project.
Despite its name, libcurl's easy interface is anything but, and making mistakes misusing it is a common source of error and frustration. Using the more expressive language facilities of C++11, this library captures the essence of making network calls into a few concise idioms.
Here's a quick GET request:
#include <cpr/cpr.h>
int main(int argc, char** argv) {
cpr::Response r = cpr::Get(cpr::Url{"https://api.github.com/repos/whoshuu/cpr/contributors"},
cpr::Authentication{"user", "pass"},
cpr::Parameters{{"anon", "true"}, {"key", "value"}});
r.status_code; // 200
r.header["content-type"]; // application/json; charset=utf-8
r.text; // JSON text string
return 0;
}
And here's less functional, more complicated code, without cpr.
You can find the latest documentation here. It's a work in progress, but it should give you a better idea of how to use the library than the tests currently do.
C++ Requests currently supports:
For a quick overview about the planed features, have a look at the next Milestones.
If you already have a CMake project you need to integrate C++ Requests with, the primary way is to use fetch_content
.
Add the following to your CMakeLists.txt
.
include(FetchContent)
FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/libcpr/cpr.git
GIT_TAG beb9e98806bb84bcc130a2cebfbcbbc6ce62b335) # The commit hash for 1.7.2. Replace with the latest from: https://github.com/libcpr/cpr/releases
FetchContent_MakeAvailable(cpr)
This will produce the target cpr::cpr
which you can link against the typical way:
target_link_libraries(your_target_name PRIVATE cpr::cpr)
That should do it!
There's no need to handle libcurl
yourself. All dependencies are taken care of for you.
All of this can be found in an example here.
Alternatively, you may install a package specific to your Linux distribution. Since so few distributions currently have a package for cpr, most users will not be able to run your program with this approach.
Currently, we are aware of packages for the following distributions:
If there's no package for your distribution, try making one! If you do, and it is added to your distribution's repositories, please submit a pull request to add it to the list above. However, please only do this if you plan to actively maintain the package.
The only explicit requirements are:
C++11
compatible compiler such as Clang or GCC. The minimum required version of GCC is unknown, so if anyone has trouble building this library with a specific version of GCC, do let me knowOpenSSL
and its development libraries are required.You can download and install cpr using the vcpkg dependency manager:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install cpr
The cpr
port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.
You can download and install cpr
using the Conan package manager. Setup your CMakeLists.txt (see Conan documentation on how to use MSBuild, Meson and others).
An example can be found here.
The cpr
package in Conan is kept up to date by Conan contributors. If the version is out of date, please create an issue or pull request on the conan-center-index
repository.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。