libevent和libcurl实现http和https服务器 cJSON使用

 

 前言

  libevent和libcurl都是功能强大的开源库;libevent主要实现服务器,包含了select、epoll等高并发的实现;libcurl实现了curl命令的API封装,主要作为客户端。这两个开源库的安装可以参考我的这篇博客:upload/201811091643080465.gif" alt="复制代码" style="max-width: 900px; height: auto; border: none !important;" />

echo '<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="upload/201811091643097062.gif" alt="复制代码" style="max-width: 900px; height: auto; border: none !important;" />

  说明:

    • echo后面跟的是xml格式数据,格式一般都是跟第三方平台约定好的,不能发这种格式,接收又是另一种格式,那没法解析了,都要提前约定好的!
    • 中间是“|”管道符,将echo的输出作为curl的输入
    • POST 说明是post请求
    • -H 携带的消息头
    • 最后的url,是要发送的地址

  (2)发送json格式数据

  格式如下:

  

复制代码
curl -H "Content-Type:application/json" -H "appName:spvas" -H "password:123123" -H "pswdHashType:SHA1" -X POST  -k -g -d '{"param":[{"objectID":112,"type":1,"operate":1,"operatorID":100,"result":0,"time":1539941168,"policytype":0}]}' http://172.16.1.21:9999/rest/spvas/objChange.do
复制代码

  说明:

  •   -H 依然是消息头
  •        -d  后面是json格式的数据了

  2、libcurl库使用

  1、安装

  想要使用libcurl库,首先需要先安装,安装参考我的这篇博客写的很详细:upload/201811091643102676.gif" alt="" style="border: 0px; vertical-align: middle; padding-right: 5px; max-width: 900px; height: auto;" /> View Code

  这是客户端的总体代码,但是还无法测试,因为没有服务端,下面会介绍用libevent库来搭建http的服务端;因为数据格式是json,所以用到了cJSON,可以到我的github上进行下载,编译命令:g++ login.cpp cJSON.cpp -o login -lcurl

  二、libevent库

 1、安装

    libevent依然是开源库,使用之前依然需要安装,安装参考我的这篇博客写的很详细:https://www.cnblogs.com/liudw-0215/p/9917422.html

  2、搭建http服务器

    安装之后,就可以使用了,主要都是调用libcurl库的API函数,main函数如下:

复制代码
int main(int argc, char *argv[]) {     //自定义信号处理函数    signal(SIGHUP, signal_handler);     signal(SIGTERM, signal_handler);     signal(SIGINT, signal_handler);     signal(SIGQUIT, signal_handler);      //默认参数    char *httpd_option_listen = "0.0.0.0";     int httpd_option_port = 7777;     int httpd_option_daemon = 0;     int httpd_option_timeout = 120; //in seconds      //获取参数    int c;     while ((c = getopt(argc, argv, "l:p:dt:h")) != -1) {         switch (c) {             
                        
关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信