C++中通过POST向服务器发送JSON的代码

  工作中需要使用json.最后抓了报文,对比代码输出,才得以解决。在这里共享出来,给需要的朋友一点帮助。

  需要整个代码的朋友,可以下载《C代码版本的HTTP POST上传文件/JSON》:

static int http_post(tcpclient *pclient, const char *page,
 const const char* message_json, int* ret_code, char **response)
{
    char content_buffer[4096] = {0};
 
    char post[512]={0};
    char host[256]={0};
    char* lpbuf = NULL;
    char* ptmp  = NULL;

    const char *header2="Connection: keep-alive\r\nAccept-Encoding: gzip, deflate\r\nAccept: */*\r\nUser-Agent: python-requests/2.18.4\r\n";

    sprintf(post,"POST %s HTTP/1.1\r\n",page);
    strcpy(content_buffer, post);

    sprintf(host,"HOST: %s:%d\r\n",pclient->remote_ip,pclient->remote_port);
    strcat(content_buffer, host);
    strcat(content_buffer, header2);

    char *lenstr;
    lenstr = (char*)GH_MEM_MALLOC(256);
    sprintf(lenstr, "%d", (int)(strlen(message_json)));

    strcat(content_buffer, "Content-Length: ");
    strcat(content_buffer, lenstr);
    strcat(content_buffer, "\r\n");

    char content_type[4096] = {0};
    strcat(content_type, "Content-Type: application/json");
    strcat(content_type, "\r\n\r\n");
    strcat(content_type, message_json);

    strcat(content_buffer, content_type);
    GH_MEM_FREE(lenstr);

    tcpclient_send(pclient, content_buffer, strlen(content_buffer));

}

 

你可能感兴趣的:(C/C++,JAVA,代码工具:Mqtt/Json)