2017-09-24 109 views
0
#include <stdio.h> 
#include <iostream> 
#include <thread> 
#include <stdlib.h> 
#include <string> 
#include <sstream> 
#include <array> 
#include <curl/curl.h> 

size_t WriteCallback(char *contents, size_t size, size_t nmemb, void *userp) 
{ 
    ((std::string*)userp)->append((char*)contents, size * nmemb); 
    return size * nmemb; 
} 

int main(int argc, char * argv[]) 
{ 
curl_global_init(CURL_GLOBAL_ALL); 

CURL* easyhandle = curl_easy_init(); 
std::string readBuffer; 

curl_easy_setopt(easyhandle, CURLOPT_URL, "http://192.168.1.79:8080"); 
curl_easy_setopt(easyhandle, CURLOPT_VERBOSE, 1L); 
curl_easy_setopt(easyhandle, CURLOPT_POST, 1); 
curl_easy_setopt(easyhandle, CURLOPT_POSTFIELDS,"{ \"jsonrpc\": \"2.0\", \"method\": \"get\", \"params\": [\"Frozen\"], \"id\": 3}"); 
curl_easy_setopt(easyhandle, CURLOPT_WRITEFUNCTION, WriteCallback); 
curl_easy_setopt(easyhandle, CURLOPT_WRITEDATA, &readBuffer); 

curl_easy_perform(easyhandle); 

std::cout << readBuffer << std::endl; 
//std::cout << "{ \"jsonrpc\": \"2.0\", \"method\": \"getTitles\", \"params\": [clea], \"id\": 3}" << std::endl; 

return 0; 
} 

這是我的代碼爲我的curl命令。我看到請求通過我的服務器,但它一直說rpc錯誤。我認爲這是我格式化我的JSON的方式。基本上在我的電腦上,如果我在終端上運行這個curl命令,它可以工作。但是,在C++中運行它不起作用。我不斷收到http/1.0 400 json rpc錯誤與c + +

回答

0

原來「凍結」不在圖書館。將它添加到它工作的服務器上之後。