【发布时间】:2011-08-21 06:14:20
【问题描述】:
我正在尝试编写一个 C++ 程序以使用 cURL 从网站读取。我开始使用 cURL 示例 simple.c 中的代码。如果我准确地使用该代码,无论我尝试访问哪个 URL,我都会收到错误 #52:“来自服务器的空回复”。这适用于我尝试的任何 URL。如果我从命令行使用 cURL,它似乎工作正常。
我的程序的详细响应是:
*About to connect() to www.google.com port 80 (#0)
* Trying 74.125.91.99...* connected
*connected to www.google.com (74.125.91.99) port 80 (#0)
>GET / HTTP/1.1
Host: www.google.com
Accept: */*
* Empty reply from server
* Connection #0 to host www.google.com left intact
* server returned nothing (no headers, no data)
*Closing connection #0
代码是:
CURL *curl;
CURLcode res;
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "http://www.google.com");
curl_easy_setopt(curl, CURLOPT_VERBOSE, TRUE);
res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
【问题讨论】:
-
该代码非常适合我。将页面输出到 STDOUT 没有问题。 (除了没有定义
TRUE,但使用1有效) -
它看起来也很好
-
Aaaaarghh,尝试删除
CURLOPT_VERBOSE标志。某些版本(我不记得究竟是哪个版本)使用 CURLOPT_VERBOSE 标志有可怕的错误,设置为 1。尝试不使用它。还有,哪个是curl'a版本? -
我试过去掉verbose标志,还是不行。