欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c+客戶端+post+json

錢瀠龍2年前8瀏覽0評論

C++客戶端(Post+JSON)

#include#include#include#include#includeusing namespace std;
// 回調函數,接收curl返回的內容
size_t callback(char* ptr, size_t size, size_t nmemb, void* userdata) {
std::string *response = static_cast(userdata);
response->append(ptr, size * nmemb);
return size * nmemb;
}
int main()
{
CURL *curl;
CURLcode res;
std::string url = "http://www.example.com/api/login";
std::string response;
// 初始化curl
curl = curl_easy_init();
if (curl) {
// 設置URL
curl_easy_setopt(curl, CURLOPT_URL, url.c_str());
// 設置回調函數
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback);
// 設置接收返回值的字符串緩沖區(注意長度)
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
// 設置POST請求
curl_easy_setopt(curl, CURLOPT_POST, 1L);
// 把關鍵詞和值進行組裝
std::ostringstream oss;
oss<< "username="<< "example_username"<< "&password="<< "example_password";
std::string postData = oss.str();
// 設置POST數據的內容和長度
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData.c_str());
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, postData.length());
// 執行請求
res = curl_easy_perform(curl);
// 處理返回結果
if (res == CURLE_OK) {
// 使用JsonCpp解析JSON
Json::Reader reader;
Json::Value json_obj;
reader.parse(response.c_str(), json_obj);
std::string status = json_obj["status"].asString();
std::string message = json_obj["message"].asString();
// 輸出結果
if (status == "success") {
std::string token = json_obj["token"].asString();
std::cout<< "Login Success!"<< std::endl;
std::cout<< "Your token is:"<< token<< std::endl;
}
else {
std::cout<< "Login Failed!"<< std::endl;
std::cout<< "Error message:"<< message<< std::endl;
}
}
else {
std::cout<< "Error code:"<< res<< std::endl;
}
// 釋放資源
curl_easy_cleanup(curl);
}
return 0;
}

這段代碼演示了如何使用C++客戶端進行POST請求,并且接收返回的JSON數據,并解析JSON數據。這里用到了curl庫和JsonCpp庫。其中,回調函數用于接收curl返回的內容,curl_easy_setopt函數用于設置curl選項,詳細的選項參數可以在官網curl.haxx.se上查詢。使用curl庫發送POST請求的步驟包括:設置POST的數據內容和長度,執行請求,處理返回結果等。