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
|