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/設定http請求json格式引數
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 ...