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

2021-07-23 16:58:31 字數 1433 閱讀 2170

json是類似於xml的一種用於資訊互動的輕量級資訊定義格式,可擴充套件性也很好。

如何用c++寫的**來傳送http請求,訊息格式採用json呢?

下面我一步一步介紹。所有步驟都經實際驗證,測試平台為win7系統。

傳送http請求需要安裝curl庫。vs2010下編譯libcurl

需要構造和解析json格式的訊息要用到jsoncpp庫。vs2010下編譯jsoncpp庫

測試**如下:

#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))

}std::cout

curl_easy_setopt(curl, curlopt_postfields, value.tostyledstring().c_str());

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) ", ret, wr_error );

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

curl_easy_cleanup( curl );

return 0;

}

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

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

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

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

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