【发布时间】:2011-08-08 03:43:09
【问题描述】:
我正在尝试使用 libcurl 从 C++ 中的 REST 网页下载 json 文件。 如果我访问网页,以下代码可以工作,但如果我尝试访问 json,它不会下载 ....
我认为这应该是一个简单的解决方法,但我找不到任何参考...
如果我访问网页,它会打开 json,但此代码仅返回 text/html;字符集=utf-8
????????????
CURL *curl;
CURLcode res;
struct curl_slist *headers=NULL; // init to NULL is important
headers = curl_slist_append(headers, "Accept: application/json");
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://web.com/api/json/123");
curl_easy_setopt(curl, CURLOPT_HTTPGET,1);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
//curl_easy_setopt(curl, CURLOPT_URL, "http://web.com/123.html");//this works!!!
res = curl_easy_perform(curl);
if(CURLE_OK == res) {
char *ct;
/* ask for the content-type */
res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
if((CURLE_OK == res) && ct)
printf("We received Content-Type: %s\n", ct);
}
}
/* always cleanup */
curl_easy_cleanup(curl);
【问题讨论】: