91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 0.65M
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-04-11
  • 語言: C/C++
  • 標簽: c++??Url??lib??ib??編譯??

資源簡介

使用c curlLib庫進行json數據get與post的操作實例,內附編譯完成的Curl庫與JsonCPP庫,供初學者參考。

資源截圖

代碼片段和文件信息

//?libcurlPostJson.cpp?:?Defines?the?entry?point?for?the?console?application.
//

#include?“stdafx.h“
#include?
#include?
//json
#include?“json\json.h“
using?namespace?std;


//http://blog.csdn.net/wyansai/article/details/50764315
wstring?AsciiToUnicode(const?string&?str)?
{
//?預算-緩沖區中寬字節的長度??
int?unicodeLen?=?MultiByteToWideChar(CP_ACP?0?str.c_str()?-1?nullptr?0);
//?給指向緩沖區的指針變量分配內存??
wchar_t?*pUnicode?=?(wchar_t*)malloc(sizeof(wchar_t)*unicodeLen);
//?開始向緩沖區轉換字節??
MultiByteToWideChar(CP_ACP?0?str.c_str()?-1?pUnicode?unicodeLen);
wstring?ret_str?=?pUnicode;
free(pUnicode);
return?ret_str;
}

string?UnicodeToUtf8(const?wstring&?wstr)?
{
//?預算-緩沖區中多字節的長度??
int?ansiiLen?=?WideCharToMultiByte(CP_UTF8?0?wstr.c_str()?-1?nullptr?0?nullptr?nullptr);
//?給指向緩沖區的指針變量分配內存??
char?*pAssii?=?(char*)malloc(sizeof(char)*ansiiLen);
//?開始向緩沖區轉換字節??
WideCharToMultiByte(CP_UTF8?0?wstr.c_str()?-1?pAssii?ansiiLen?nullptr?nullptr);
string?ret_str?=?pAssii;
free(pAssii);
return?ret_str;
}


string?AsciiToUtf8(const?string&?str)?
{
return?UnicodeToUtf8(AsciiToUnicode(str));
}


size_t?write_data(void?*ptr?size_t?size?size_t?nmemb?void?*stream)?
{
string?data((const?char*)?ptr?(size_t)?size?*?nmemb);

*((stringstream*)?stream)?<
return?size?*?nmemb;
}

//POST?json
int?main()
{
CURL?*curl;
CURLcode?res;
char?tmp_str[256]?=?{?0?};
std::stringstream?out;

//HTTP報文頭??
struct?curl_slist*?headers?=?NULL;

char?*url?=?“http://if.qdocument.net:705/bic/operationNote/upload“;

curl?=?curl_easy_init();

if(curl)
{
//構建json
Json::Value?item;
item[“uid“]=Json::Value(“weidong0925@126.com“);
item[“fileName“]=Json::Value(“梅西&內馬爾&蘇亞雷斯.txt“);
item[“time“]=Json::Value(“2017.07.31?9:55:22“);
item[“type“]=Json::Value(“Libcurl?HTTP?POST?Json串“);
item[“authList“]=Json::Value(“weidong0925@126.com“);
std::string?jsonout?=?item.tostyledString();

jsonout?=?AsciiToUtf8(jsonout);


//設置url
curl_easy_setopt(curl?CURLOPT_URL?url);

//設置http發送的內容類型為JSON
//構建HTTP報文頭??
sprintf_s(tmp_str?“Content-Length:?%s“?jsonout.c_str());
headers=curl_slist_append(headers?“Content-Type:application/json;charset=UTF-8“);
//headers=curl_slist_append(headers?tmp_str);

curl_easy_setopt(curl?CURLOPT_HTTPHEADER?headers);
//curl_easy_setopt(curl??CURLOPT_CUSTOMREQUEST?“POST“);//自定義請求方式
curl_easy_setopt(curl?CURLOPT_POST?1);//設置為非0表示本次操作為POST

//?設置要POST的JSON數據
curl_easy_setopt(curl?CURLOPT_POSTFIELDS?jsonout.c_str());
curl_easy_setopt(curl?CURLOPT_POSTFIELDSIZE?jsonout.size());


//?設置接收數據的處理函數和存放變量
curl_easy_setopt(curl?CURLOPT_WRITEFUNCTION?write_data);//設置回調函數
curl_easy_setopt(curl?CURLOPT_WRITEDATA?&out);//設置寫數據
res?=?curl_easy_perform(curl);//執行

string?str_json?=?out.str();

printf(“%s“str_json.c_str());


/*?always?cleanup?*/
curl_easy

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????86846??2014-03-25?11:29??libcurlPostJson\curl\curl.h

?????文件??????22273??2014-03-26?07:49??libcurlPostJson\curl\curlbuild.h

?????文件???????7454??2014-01-05?23:07??libcurlPostJson\curl\curlbuild.h.cmake

?????文件???????7143??2013-09-09?00:11??libcurlPostJson\curl\curlbuild.h.in

?????文件???????8934??2013-09-09?00:11??libcurlPostJson\curl\curlrules.h

?????文件???????2741??2014-03-26?07:49??libcurlPostJson\curl\curlver.h

?????文件???????3472??2013-09-09?00:11??libcurlPostJson\curl\easy.h

?????文件???????2181??2013-09-09?00:11??libcurlPostJson\curl\Makefile.am

?????文件??????21726??2014-03-25?11:29??libcurlPostJson\curl\Makefile.in

?????文件???????2788??2013-09-09?00:11??libcurlPostJson\curl\mprintf.h

?????文件??????14813??2014-01-05?23:07??libcurlPostJson\curl\multi.h

?????文件???????1330??2013-09-09?00:11??libcurlPostJson\curl\stdcheaders.h

?????文件??????37398??2014-01-30?23:11??libcurlPostJson\curl\typecheck-gcc.h

?????文件????????438??2017-03-22?17:02??libcurlPostJson\json\autolink.h

?????文件???????1536??2017-03-22?17:02??libcurlPostJson\json\config.h

?????文件???????1290??2017-03-22?17:02??libcurlPostJson\json\features.h

?????文件????????735??2017-03-22?17:02??libcurlPostJson\json\forwards.h

?????文件????????200??2017-03-22?17:02??libcurlPostJson\json\json.h

?????文件???????3929??2017-03-22?17:02??libcurlPostJson\json\json_batchallocator.h

?????文件??????12669??2017-03-22?17:02??libcurlPostJson\json\json_internalarray.inl

?????文件??????16292??2017-03-22?17:02??libcurlPostJson\json\json_internalmap.inl

?????文件??????20941??2017-03-22?17:02??libcurlPostJson\json\json_reader.cpp

?????文件??????39035??2017-03-22?17:02??libcurlPostJson\json\json_value.cpp

?????文件???????7367??2017-03-22?17:02??libcurlPostJson\json\json_valueiterator.inl

?????文件??????20309??2017-03-22?17:02??libcurlPostJson\json\json_writer.cpp

?????文件???????6486??2017-03-22?17:02??libcurlPostJson\json\reader.h

?????文件??????33960??2017-03-22?17:02??libcurlPostJson\json\value.h

?????文件???????6188??2017-03-22?17:02??libcurlPostJson\json\writer.h

?????文件?????919366??2014-05-08?10:07??libcurlPostJson\libcurl.lib

?????文件????1950262??2014-05-08?10:08??libcurlPostJson\libcurld.lib

............此處省略16個文件信息

評論

共有 條評論