C 使用curl庫傳送https請求中文亂碼問題

2021-07-24 11:33:24 字數 2331 閱讀 3930

//在資料頭設定字符集為utf-8,解決中文亂碼問題

最後記得

curl_slist_free_all(head);//記得要釋放

原始碼

//在資料頭設定字符集為utf-8,解決中文亂碼問題

//指定url

//雙向認證

cstring cscerpath, cskeypath;

cscerpath = m_cspath + "cert/sesanclientcerts.pem";

cskeypath = m_cspath + "cert/sesanclient.pem";

curl_easy_setopt(curl,curlopt_ssl_verifypeer,false);

curl_easy_setopt(curl,curlopt_ssl_verifyhost,false);

curl_easy_setopt(curl,curlopt_sslcert,cscerpath);

curl_easy_setopt(curl,curlopt_sslcertpasswd,"sesanqueue");

curl_easy_setopt(curl,curlopt_sslcerttype,"pem");

curl_easy_setopt(curl,curlopt_sslkey,cskeypath);

curl_easy_setopt(curl,curlopt_sslkeypasswd,"sesanqueue");

curl_easy_setopt(curl,curlopt_sslkeytype,"pem");

cstring csresult;

csresult.format("officeid=%s&doctorid=%s&type=%s&operatecmd=%s&operateobjecttype=%s&screentype=%s&noontype=%s&doctortype=%s&stringvalue=%s",csofficeid,"","12",csoperacmd,"string",csscreentype,"4","0",csvalue);

string strresult(csresult.getbuffer(csresult.getlength()));

csresult.releasebuffer();

//編碼轉換

string strdata;

gb2312toutf_8(strdata, strresult.c_str(), strresult.size());

char szjsondata[1024];

memset(szjsondata, 0, sizeof(szjsondata));

strcpy(szjsondata, strdata.c_str());

//設定https請求引數

curl_easy_setopt(curl, curlopt_post, true);

curl_easy_setopt(curl, curlopt_postfields, szjsondata);

curl_easy_setopt( curl, curlopt_writedata, (void *)&wr_error );

curl_easy_setopt( curl, curlopt_writefunction, write_data );

ret = curl_easy_perform( curl );

//返回

if (ret != curle_ok)

curl_slist_free_all(head);//記得要釋放

curl_easy_cleanup(curl);

}

curl使用 https訪問

訪問自己的https伺服器 自己在阿里雲上搭建了乙個https伺服器,以前一直用的是postman作為客戶端訪問,現在想嘗試用curl。下面的終端是 外網深度學習伺服器 所訪問的伺服器是我自己的阿里雲 curl cert client.crt key client.key insecure http...

使用 curl 傳送 POST 請求

一 引數說明 格式 curl h 請求頭 d 請求體 x post 介面位址引數 內容格式 h 或者 header 請求頭 d post內容 或者 id 001 name 張三 phone 13099999999 x請求協議 post get delete push put options head...

Windows使用curl傳送GET POST請求

windows無法直接通過curl傳送get post請求 新建環境變數,變數名curl home path新增 curl home i386 檢視版本 curl version 測試 curl www.baidu.com curl獲取funet ftp伺服器上的readme curl更多用法檢視c...