cpp http 客户端与服务端 POST请求

cpp http 客户端与服务端

下载任意版本的cpp-httplib库,解压后,将httplib.h放入项目目录中。
https://github.com/yhirose/cpp-httplib

最简版

在项目目录中我新建了thirdparty文件夹放第三方库,这不重要,只是include时加了路径即可。

客户端代码:

cpp 复制代码
#include "../thirdparty/httplib.h"

int main(int argc, char** argv)
{
    // 创建一个HTTP客户端实例,连接到本地的25565端口
    httplib::Client client("localhost:25565");
    // 向服务器的"/hello"路径发送POST请求,并获取响应结果
    httplib::Result result = client.Post("/hello");

    // 检查请求是否成功以及响应状态码是否为200(表示请求成功)
    if (!result || result->status != 200)
    {
        // 如果请求失败或状态码不是200,输出错误信息并返回-1表示程序异常退出
        std::cout << "Hello Failed!" << std::endl;
        return -1;
    }

    // 如果请求成功,输出服务器返回的响应体内容
    std::cout << result->body << std::endl;

    // 调用系统命令暂停程序,防止控制台窗口立即关闭(Windows系统有效)
    system("pause");

    // 程序正常退出,返回0
    return 0;
}

服务端:

cpp 复制代码
#include "../thirdparty/httplib.h"
#include <iostream>

// 实现POST请求处理函数
void handleHelloRequest(const httplib::Request& req, httplib::Response& res)
{
    // 收到客户端请求时,在服务器控制台输出提示信息
    std::cout << "Hello From Client!" << std::endl;

    // 设置响应内容:返回"Hello From Server!"字符串,类型为纯文本
    res.set_content("Hello From Server!", "text/plain");
}
int main(int argc, char** argv)
{
    // 创建HTTP服务器实例
    httplib::Server server;

    // 注册POST请求处理器,将"/hello"路径与处理函数关联
    // 不使用lambda,而是直接传入函数名作为回调
    server.Post("/hello", handleHelloRequest);

    // 启动服务器,监听本地25565端口
    // 服务器启动后会持续运行,处理客户端请求
    server.listen("localhost", 25565);

    return 0;
}
复制代码
相关推荐
xixiaoyunya14 小时前
内网穿透工具选型分析:从 ngrok 的局限性看国内开发场景下的替代方案
网络
FreeTinker15 小时前
远程查看的技术路径与工程选型分析
网络
嵌入式阿蔡16 小时前
传感器_03:电机驱动——让 GPIO 当指挥官,别让 GPIO 当电源
网络·stm32·单片机·嵌入式硬件·嵌入式实时数据库
YXXY31317 小时前
网络基础2(三)
网络
m24tyy19 小时前
常见空间测绘搜索引擎介绍和使用以及子域名的收集
网络·测试工具·搜索引擎
数据安全技术观察19 小时前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
我爱cope19 小时前
【计算机网络 | 网络层1:网络层的职责:IP 协议究竟解决了什么问题?】
网络·tcp/ip·计算机网络
dogstarhuang21 小时前
OpenAI GPT-5.6 降价后如何重算 API 账单?多模型路由与成本治理实战
服务器·网络·人工智能·大模型·api·ai应用开发·接口管理
苏宸啊21 小时前
linux网络编程udp服务器和客户端代码编写(echo版本和字典版本)
linux·网络
一条泥憨鱼1 天前
【从0开始学习计算机网络】| DNS -记录类型详解
计算机网络·http·github·域名·dns·记录