libcurl jsoncpp學習記錄

\qquad學了一些MFC,現在又要開始學習libcurl了。
1.關於libcurl的編譯,網上很多的博客可以參考,但是大多都有問題。哈哈哈,實驗個那麼幾次就行了。幾乎每次裝環境都會遇到很多的問題,然後都需要重來好幾次。哈哈哈。這個的邏輯是先把libcurl給編譯了,然後作爲一個動態鏈接庫或者是靜態鏈接庫放入自己寫的程序中。
2.其實關於MFC裏面加入網絡等相關的東西,MFC也有自己封裝的類,但是使用MFC自帶的,移植性不好。網上大多推薦的libcurl,我們總監推薦的也是這個。
3.這篇文章解救我於水深火熱之中啊。可以使用Visual Studio自帶的NuGet包管理工具,添加curl就行。不用那麼麻煩去編譯。。。
4.Visual Studio高版本如果想使用低版本的平臺工具集,直接在官網下一個低版本的installer,然後安裝只選擇工具集部分的組件安裝就好了。裝好之後,打開Visual Studio高版本的,項目-屬性-裏面的平臺工具集就可以看到新安裝的低版本的工具集了。
5.還要學Json.一篇講解jsoncpp的文章關於安裝jsoncpp,我依然使用的是VS提供的NuGet包管理工具。
6.想把請求的數據先返回顯示出來嗎?這篇文章寫了方法。 docs裏面分別提供了返回文件存儲和暫時存在內存裏面兩種方法。
7.string類型轉char*可以直接使用c_str()函數。並且轉完之後的char*類型的變量可以直接用strlen()函數求出長度,去了末尾的‘\0’的長度。關於char字符串與string的比較文章。
8.Visual Studio裏面的項目-屬性裏面的東西要好好的研究研究,很多時候加東西啊,改東西啊,都是在這裏面弄。
9.curl的官網經常出故障,但是下載下來的文件裏面東西很多。裏面的docs-examples文件夾裏面有很多的例子,比如POST請求,自定義HTTP頭等。很直觀了,可以直接用這裏的例子來改。實現自己的需求,不過學習curl還是需要學一下HTTP的相關知識,尤其是HTTP頭裏面的東西。
在這裏插入圖片描述
10.一個常規的POST操作可能會涉及curl_easy_setopt()函數的如下幾個參數。
CURLOPT_POSTFIELDSIZE
CURLOPT_POSTFIELDSIZE_LARGE
CURLOPT_POSTFIELDS
CURLOPT_COPYPOSTFIELDS
CURLOPT_HTTPHEADER
11.Windows下網絡編程我當時看到的兩個不錯的網站。2
12.回調函數就是一個通過函數指針調用的函數。如果你把函數的指針(地址)作爲參數傳遞給另一個函數,當這個指針被用來調用其所指向的函數時,我們就說這是回調函數。百度百科的解釋
13.關於json對象和json字符串等相關知識。
關於jsoncpp相關的知識。
14.將返回的json字符串存入文件。
將返回的json字符串存入文件
部分地方沒註釋,部分地方可能需要稍作修改。
15.jsoncpp基礎知識練習:

int main() {
    const std::string jsonstring1 = "{\"Result\":true,\"Message\":\"\",\"MsgCode\":\"200\",\"Data\":{\"UserID\":10044,\"UserNumber\":null,\"RealName\":null,\"EnterpriseID\":0}}";
    Json::Reader reader;
    Json::Value rootObj;
    reader.parse(jsonstring1,rootObj);
    std::cout << rootObj.toStyledString() << std::endl;
    return 0;
}

效果如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章