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

2021-07-05 20:39:54 字數 1648 閱讀 5992

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*128

char wr_buf[max_buf+1];

char nwr_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, "" );

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

curl_easy_setopt( curl, curlopt_writefunction, write_data );

ret = curl_easy_perform( curl );

printf( "ret = %d (write_error = %d) \n", ret, wr_error );

// if ( ret == 0 ) printf( "%s ", wr_buf );

//解析json串

json::reader reader;

json::value root;

if(reader.parse(wr_buf,root))

{ std::cout<<"parse success\n";

int size = root.size();

std::cout<<"root.size="<

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 ...