與傳奇聯盟API混戰。JSON響應分成多個cURL回調
我已經有一個問題了幾天,所以我簡化了發生了什麼事情。我通過cURL發送一個URL,它應該返回一個Json塊。 URL在我的瀏覽器中打開並顯示預期的數據。然而,出於某種奇怪的原因,cURL(或API?)多次向我的回調函數發送數據。
什麼返回一些片段:
開頭 - { 「20278403」: - 「:」 卡爾薩斯的霸主」:[{ 「名」 名 「{流行...
大詞典」 「TI
字面上削減了與‘TI然後,新的回調開始,在繼續使用舊數據:
始於 - 嗯。’」白金「」闕......
結束 - 「isInact ive「:false}]}]}
您可能注意到,Json的正確終止與第二個回調的輸出一起出現。我知道這個建議是'爲什麼不把它全部放到一個字符串中並解析它呢?' - 問題是我需要發送幾個請求,因爲您一次只能請求X個玩家數據。所以很難說出一個請求的Json開始和另一個結束!
最重要的是 - 有人知道爲什麼會發生這種情況嗎?跨多個回調返回數據似乎非常奇怪。
如果有幫助..只是一個普通的捲曲電話:
curl_easy_setopt(m_pCurl, CURLOPT_URL, "https://euw...")
curl_easy_setopt(m_pCurl, CURLOPT_WRITEFUNCTION, &DataSuccessCB);
curl_easy_perform(m_pCurl);
size_t CAPIReader::DataSuccessCB(char* cBuffer, size_t iSize, size_t nmemb, void* userData)
{
string sBuffer = string(cBuffer);
vStrVec.push_back(sBuffer); // vector holding all the returned json strings - intended to have a whole block of json in each one!
return (iSize * nmemb);
}
感謝。