add log4cplus

This commit is contained in:
lnk
2025-05-09 16:53:07 +08:00
parent 92117de97e
commit 8a2e6ea537
109 changed files with 18240 additions and 4034 deletions

View File

@@ -19,7 +19,7 @@ using namespace std;
#include <string>
#include "../mms/db_interface.h"
#include "../json/cjson.h"//WW 2023-08-27<EFBFBD><EFBFBD><EFBFBD><EFBFBD>json<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#include "../json/cjson.h"//WW 2023-08-27新增json解析函数
#include "../include/curl/curl.h"
#ifdef __cplusplus
extern "C" {
@@ -40,33 +40,33 @@ size_t req_reply_device(void* ptr, size_t size, size_t nmemb, void* stream)
void SendWebAPI_Test(const string strUrl)
{
// curl<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
// curl初始化
CURL* curl = curl_easy_init();
// curl<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
// curl返回值
CURLcode res;
if (curl)
{
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>curl<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
//设置curl的请求头
struct curl_slist* header_list = NULL;
header_list = curl_slist_append(header_list, "Content-Type:application/json;");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header_list);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//不接收响应头数据0代表不接收 1代表接收
curl_easy_setopt(curl, CURLOPT_HEADER, 0);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊpost<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//设置请求为post请求
curl_easy_setopt(curl, CURLOPT_POST, 1);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>URL<EFBFBD><EFBFBD>ַ
//设置请求的URL地址
curl_easy_setopt(curl, CURLOPT_URL, strUrl.c_str());
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>post<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
//设置post请求的参数
cJSON* json_root = cJSON_CreateObject();
cJSON* json_param = cJSON_CreateObject();
cJSON_AddItemToObject(json_root, "code", cJSON_CreateString("putObject"));
cJSON_AddItemToObject(json_root, "param", json_param);
//param<EFBFBD><EFBFBD>
//param
cJSON_AddItemToObject(json_param, "object_name", cJSON_CreateString("comtrade/pq/Device.xml"));
cJSON_AddItemToObject(json_param, "localfile_name", cJSON_CreateString("/FeProject/etc/Device_Config.xml"));
@@ -77,16 +77,16 @@ void SendWebAPI_Test(const string strUrl)
//char* pszEncodeSecret = curl_easy_escape(curl, strclientsecret.c_str(), strclientsecret.length());
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, szjson);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ssl<EFBFBD><EFBFBD>֤
//设置ssl验证
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, false);
//CURLOPT_VERBOSE<EFBFBD><EFBFBD>ֵΪ1ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ϸ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//CURLOPT_VERBOSE的值为1时会显示详细的调试信息
curl_easy_setopt(curl, CURLOPT_VERBOSE, 0);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>պ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
//设置数据接收和写入函数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, req_reply_device);
@@ -95,14 +95,14 @@ void SendWebAPI_Test(const string strUrl)
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
//<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱʱ<EFBFBD><EFBFBD>
//设置超时时间
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10);
printf(">>>TestHuaweiyun Obs Post in curl post\n");
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>post<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 开启post请求
res = curl_easy_perform(curl);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɹ<EFBFBD>
// 检查请求是否成功
if (res != CURLE_OK) {
printf("Huaweiyun Obs failed res code: " );
}
@@ -128,32 +128,32 @@ void TestOBS()
void SendWebAPI(const string strUrl, char* localpath, char* cloudpath,const char* code)
{
// curl<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
// curl初始化
CURL* curl = curl_easy_init();
// curl<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
// curl返回值
CURLcode res;
if (curl)
{
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>curl<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
//设置curl的请求头
struct curl_slist* header_list = NULL;
header_list = curl_slist_append(header_list, "Content-Type:application/json;");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header_list);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//不接收响应头数据0代表不接收 1代表接收
curl_easy_setopt(curl, CURLOPT_HEADER, 0);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊpost<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//设置请求为post请求
curl_easy_setopt(curl, CURLOPT_POST, 1);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>URL<EFBFBD><EFBFBD>ַ
//设置请求的URL地址
curl_easy_setopt(curl, CURLOPT_URL, strUrl.c_str());
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>post<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
//设置post请求的参数
cJSON* json_root = cJSON_CreateObject();
cJSON* json_param = cJSON_CreateObject();
cJSON_AddItemToObject(json_root, "code", cJSON_CreateString(code));
cJSON_AddItemToObject(json_root, "param", json_param);
//param<EFBFBD><EFBFBD>
//param
cJSON_AddItemToObject(json_param, "object_name", cJSON_CreateString(cloudpath));
cJSON_AddItemToObject(json_param, "localfile_name", cJSON_CreateString(localpath));
@@ -161,16 +161,16 @@ void SendWebAPI(const string strUrl, char* localpath, char* cloudpath,const char
printf(">>>json %s\n", szjson);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, szjson);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ssl<EFBFBD><EFBFBD>֤
//设置ssl验证
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, false);
//CURLOPT_VERBOSE<EFBFBD><EFBFBD>ֵΪ1ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ϸ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//CURLOPT_VERBOSE的值为1时会显示详细的调试信息
curl_easy_setopt(curl, CURLOPT_VERBOSE, 0);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>պ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
//设置数据接收和写入函数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, req_reply_device);
@@ -179,14 +179,14 @@ void SendWebAPI(const string strUrl, char* localpath, char* cloudpath,const char
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
//<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱʱ<EFBFBD><EFBFBD>
//设置超时时间
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10);
printf(">>>TestHuaweiyun Obs Post in curl post\n");
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>post<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 开启post请求
res = curl_easy_perform(curl);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɹ<EFBFBD>
// 检查请求是否成功
if (res != CURLE_OK) {
printf("Huaweiyun Obs failed res code: ");
}
@@ -212,32 +212,32 @@ void OBSFile(char* localpath,char* cloudpath,const char* code)
void SendWebAPI_del(const string strUrl, char* cloudpath, const char* code)
{
// curl<EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
// curl初始化
CURL* curl = curl_easy_init();
// curl<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
// curl返回值
CURLcode res;
if (curl)
{
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>curl<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
//设置curl的请求头
struct curl_slist* header_list = NULL;
header_list = curl_slist_append(header_list, "Content-Type:application/json;");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, header_list);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧͷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//不接收响应头数据0代表不接收 1代表接收
curl_easy_setopt(curl, CURLOPT_HEADER, 0);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊpost<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//设置请求为post请求
curl_easy_setopt(curl, CURLOPT_POST, 1);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>URL<EFBFBD><EFBFBD>ַ
//设置请求的URL地址
curl_easy_setopt(curl, CURLOPT_URL, strUrl.c_str());
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>post<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><EFBFBD><EFBFBD>
//设置post请求的参数
cJSON* json_root = cJSON_CreateObject();
cJSON* json_param = cJSON_CreateObject();
cJSON_AddItemToObject(json_root, "code", cJSON_CreateString(code));
cJSON_AddItemToObject(json_root, "param", json_param);
//param<EFBFBD><EFBFBD>
//param
cJSON_AddItemToObject(json_param, "object_name", cJSON_CreateString(cloudpath));
cJSON_AddNullToObject(json_param, "localfile_name");
@@ -246,16 +246,16 @@ void SendWebAPI_del(const string strUrl, char* cloudpath, const char* code)
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, szjson);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ssl<EFBFBD><EFBFBD>֤
//设置ssl验证
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, false);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, false);
//CURLOPT_VERBOSE<EFBFBD><EFBFBD>ֵΪ1ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ϸ<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
//CURLOPT_VERBOSE的值为1时会显示详细的调试信息
curl_easy_setopt(curl, CURLOPT_VERBOSE, 0);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL);
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD>պ<EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>
//设置数据接收和写入函数
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, req_reply_device);
@@ -264,14 +264,14 @@ void SendWebAPI_del(const string strUrl, char* cloudpath, const char* code)
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
//<EFBFBD><EFBFBD><EFBFBD>ó<EFBFBD>ʱʱ<EFBFBD><EFBFBD>
//设置超时时间
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 10);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10);
printf(">>>TestHuaweiyun Obs Post in curl post\n");
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>post<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// 开启post请求
res = curl_easy_perform(curl);
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɹ<EFBFBD>
// 检查请求是否成功
if (res != CURLE_OK) {
printf("Huaweiyun Obs failed res code: ");
}