2017-09-24 5 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をフォーマットしている方法だと思う。基本的に私のPC上で、このcurlコマンドをターミナルで実行すると動作します。しかし、それをC++で動かすことはできません。http/1.0を取得し続けています。400 json rpc error with C++

答えて

0

"Frozen"はライブラリには存在しません。それをサーバー上に追加した後、それは機能しました。

関連する問題