61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
//
|
||
// Created by matrixai on 2/10/23.
|
||
//
|
||
|
||
#ifndef MATRIX_CONTROL_HTTPUTIL_H
|
||
#define MATRIX_CONTROL_HTTPUTIL_H
|
||
#include <mutex>
|
||
#include <curl/curl.h>
|
||
#include <libssh2.h>
|
||
#include "json/json.h"
|
||
#include "Log.h"
|
||
|
||
struct HttpRequest
|
||
{
|
||
// 接口地址
|
||
std::string strUrl;
|
||
// 请求类型 [POST, GET]
|
||
std::string strType;
|
||
};
|
||
|
||
namespace ai_matrix
|
||
{
|
||
// 请求方式 POST
|
||
std::string REQUEST_POST = "POST";
|
||
// 请求方式 GET
|
||
std::string REQUEST_GET = "GET";
|
||
|
||
class HttpUtil final
|
||
{
|
||
public:
|
||
HttpUtil();
|
||
~HttpUtil();
|
||
|
||
/**
|
||
* Post请求,使用Json传递请求参数
|
||
* @param requestUrl 请求地址
|
||
* @param json 请求参数
|
||
* @return 返回Json格式的字符串
|
||
*/
|
||
std::string postRequestByJson(std::string strRequestUrl, Json::Value &json);
|
||
|
||
/**
|
||
*
|
||
* @param user
|
||
* @param password
|
||
* @param tenantId
|
||
* @return
|
||
*/
|
||
std::string postRequestGetToken(std::string strRequestUrl, std::string strUsername, std::string strPassword, std::string strTenantId, std::string strAuthorization);
|
||
private:
|
||
|
||
CURL *pCurl_ = nullptr;
|
||
// 授权码()
|
||
std::string token_;
|
||
|
||
static size_t callBack(void *pBuffer, size_t size, size_t nmemb, std::string &strResp);
|
||
};
|
||
}
|
||
|
||
#endif //MATRIX_CONTROL_HTTPUTIL_H
|