Hi,
I have write a simple program based on libcur, it simpley download data and write to a local file. In most of the cases, it works fine, but some special case, it works differently from linux curl command. The main part of my program looks like this: ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 62 CURL* handler = curl_easy_init(); 65 int ret = CURLE_OK; 266 ret += curl_easy_setopt(handler, CURLOPT_ERRORBUFFER, errBuffer); 267 ret += curl_easy_setopt(handler, CURLOPT_VERBOSE, 1); 268 ret += curl_easy_setopt(handler, CURLOPT_URL, url); 270 ret += curl_easy_setopt(handler, CURLOPT_WRITEFUNCTION, write_image_data); 271 ret += curl_easy_setopt(handler, CURLOPT_WRITEDATA, imgData); 273 ret += curl_easy_perform(handler); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// In a special case, this url: http://www.my7475.com/wp-content/uploads/2008/09/my747508093002.jpg My program fails in getting image, the printed out message looks like this: //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// * About to connect() to www.my7475.com port 80 * Trying 119.57.53.145... * connected * Connected to www.my7475.com (119.57.53.145) port 80 > GET /wp-content/uploads/2008/09/my747508093002.jpg HTTP/1.1 Host: www.my7475.com Accept: */* < HTTP/1.1 500 Internal Server Error < Date: Tue, 14 Jun 2011 07:44:48 GMT < Server: Apache/2.2.15 (Unix) PHP/5.2.13 < Content-Length: 535 < Connection: close < Content-Type: text/html; charset=iso-8859-1 * Closing connection #0 download size: 535 //////////////////////////////////////////////////////////////////////////////////////////////////////////////// I checked the downloaded content, it is just a text message telling me internal server error. But if I use curl with default option and verbose mode, it download the image succesfully and print out message like this: /////////////////////////////////////////////////////////////////////////////////////////////////////////////// * About to connect() to www.my7475.com port 80 * Trying 119.57.53.145... connected * Connected to www.my7475.com (119.57.53.145) port 80 > GET /wp-content/uploads/2008/09/my747508093002.jpg HTTP/1.1 > User-Agent: curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 > OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 > Host: www.my7475.com > Accept: */* > < HTTP/1.1 200 OK < Date: Tue, 14 Jun 2011 07:46:22 GMT < Server: Apache/2.2.15 (Unix) PHP/5.2.13 < Last-Modified: Fri, 19 Mar 2010 12:46:33 GMT < ETag: "19689e6-5a17-48226bcb21c40" < Accept-Ranges: bytes < Content-Length: 23063 < Content-Type: image/jpeg % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 23063 100 23063 0 0 6216 0 0:00:03 0:00:03 --:--:-- 410kConnection #0 to host www.my7475.com left intact * Closing connection #0 ////////////////////////////////////////////////////////////////////////////////////////////////////////////// >From the above two verbose messages, it is really hard for me to figure out >what is wrong. Here is version information: linux curl command: curl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5 libcur version: 31 #define LIBCURL_VERSION "7.15.5" Can anybody help me? thanks. Richard.
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
