libcurl
c APIを使用して、特定の Web ベースの API からデータを取得しようとしています。Curl は API を正常に呼び出します。ただし、size_t nmemb
小さすぎて応答を保持できません。どういうわけか、1280で「カットオフ」されています。これを解決する方法を知っている人はいますか? またsize_t size
、1..
これらは私が使用する機能です:
int http_call(char *url) {
CURL *curl;
FILE *curlfile;
CURLcode res;
char outfilename[FILENAME_MAX] = "/usr/local/var/log/ndcurl";
curl = curl_easy_init();
if (curl) {
curlfile = fopen(outfilename,"w");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_release_data);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
fclose(curlfile);
}
return 0;
}
そしてコールバック:
static size_t write_release_data(void *buffer, size_t size, size_t nmemb, void *userp) {
char **response_ptr = (char**)userp;
*response_ptr = strndup(buffer, (size_t)(size *nmemb));
printf("The Response: %s", *response_ptr);
return 0;
}