C 傳送訊息格式為JSON的http請求

2021-07-16 16:01:28 字數 1456 閱讀 3089

json是類似於xml的一種用於資訊互動的輕量級資訊定義格式,可擴充套件性也很好。如何用c++寫的**來傳送http請求,訊息格式採用json呢?下面我一步一步介紹。所有步驟都經實際驗證,測試平台為linux系統。

1. 傳送http請求需要安裝curl庫。

這個庫一般linux系統是自帶的。自己可以在系統目錄檢視下即可。

3. 執行

tar -zxf scons-2.0.1.tar.gz

解壓 scons-2.0.1.tar.gz後, 進入 scons-2.0.1資料夾,

執行python setup.py install 即可完成編譯安裝。

4. 安裝好了scons後,執行tar -zxvf jsoncpp-src-0.5.0.tar.gz 解壓。讓後進入jsoncpp-src-0.5.0目錄,執行

scons platform=linux-gcc 完成編譯。然後拷貝mv ~/jsoncpp-src-0.5.0/libs/linux-gcc-3.4.6/libjson_linux-gcc-3.4.6_libmt.so /lib/   拷貝 mv

~/jsoncpp-src-0.5.0/include/json /usr/include -r完成json安裝。

5.測試**如下。

#include #include #include #include #define max_buf      65536

char wr_buf[max_buf+1];

int  wr_index;

size_t write_data( void *buffer, size_t size, size_t nmemb, void *userp )

memcpy( (void *)&wr_buf[wr_index], buffer, (size_t)segsize );

wr_index += segsize;

wr_buf[wr_index] = 0;

return segsize;

}int main( void )

//指定url

curl_easy_setopt( curl, curlopt_url, "" );

//準備構造json格式訊息

json::value value;

value["id"]=json::value(5345);

json::reader reader;

std::string strresult = value.tostyledstring();

json::value result;

//測試構造字串內容

if (reader.parse(strresult,result))

{if(!result["id"].isnull())

{//std::cout《編譯g++ http_test.cpp -o http_test -l/lib -ljson_linux-gcc-3.4.6_libmt -lcurl

C 傳送訊息格式為JSON的http請求

json是類似於xml的一種用於資訊互動的輕量級資訊定義格式,可擴充套件性也很好。如何用c 寫的 來傳送http請求,訊息格式採用json呢?下面我一步一步介紹。所有步驟都經實際驗證,測試平台為linux系統。1.傳送http請求需要安裝curl庫。這個庫一般linux系統是自帶的。自己可以在系統目...

c 傳送訊息格式為JSON的http請求

json是類似於xml的一種用於資訊互動的輕量級資訊定義格式,可擴充套件性也很好。如何用c 寫的 來傳送http請求,訊息格式採用json呢?下面我一步一步介紹。所有步驟都經實際驗證,測試平台為win7系統。傳送http請求需要安裝curl庫。vs2010下編譯libcurl 需要構造和解析json...

golang語言傳送json格式的http請求

func testget resp,err client.do req if err nil defer resp.body.close fmt.println response status resp.status fmt.println response headers resp.header ...