libcurl 库的使用 利用libcurl 发送https请求,接受数据不全有关问题

libcurl 库的使用 利用libcurl 发送https请求,接受数据不全问题
在做一个利用https发送请求和接受返回数据的dll,遇到这样一个问题,头疼1天了,竟然没找到原因,情况大概如下:

当接收数据不是很大时候,可以正常工作,比如2K或者几百字节时候正常,一旦大于4K或者更大时候,返回数据就不全了,代码大致如下:



size_t write_data(void *buffer, size_t size, size_t nmemb, void *stream) { 

  strcpy(((char*) stream),(char *)buffer); 
  return nmemb*size; 




TRY{ 

/********************************************/ 
CString tmpResult=""; 
CURL *curl; 
CURLcode res; 
char m_Result[BUFSIZE]= ""; 
memset(m_Result,0,sizeof(m_Result)); 
curl = curl_easy_init(); 
if(curl) { 
curl_easy_setopt(curl, CURLOPT_URL, strHttp); 
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L); 
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L); 
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,write_data); 
curl_easy_setopt(curl,CURLOPT_WRITEDATA,&m_Result); 
// curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);//调试信息打开 
res = curl_easy_perform(curl); 

if (res != CURLE_OK) { 
strcpy(resulttmp,returnerror); 
FILE *fp=fopen(TcFilePath+"\\"+"changpssTmp.xml","w"); 
fwrite(returnerror,returnerror.GetLength(),1,fp); 
fclose(fp); 
return resulttmp; 

curl_easy_cleanup(curl); 



/****************************************/ 
Texttmp = m_Result; //接受功则把字符串复制给Texttmp 但此时接受长度不够
strcpy(resulttmp,Texttmp); 
FILE *fp=fopen(TcFilePath+"\\"+"changpssTmp.xml","w"); 
fwrite(Texttmp,Texttmp.GetLength(),1,fp); 
fclose(fp); 
  */ 



CATCH_ALL(e) 
{  
strcpy(resulttmp,returnerror); 
FILE *fp=fopen(TcFilePath+"\\"+"changpssTmp.xml","w"); 
fwrite(returnerror,returnerror.GetLength(),1,fp); 
fclose(fp); 
return resulttmp; 
}  
END_CATCH_ALL

/***********************应该接受内容***************************************/

<?xml version="1.0" encoding="UTF-8"?><result><point>2400</point><status-code>00</status-code><coupon-list><coupon><coupon-id>03cc98f2bd3643d5a6cc44201a3c382a</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>04b249ab3ed74cdc8a98054c521a1aae</coupon-id><name>98元生日蛋糕卷
</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-
.
.
.
.
.
.
04</end-date></coupon><coupon><coupon-id>fda79c0e3b6c4e7e82a079c66a698beb</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>fde28e58c5934992be86842733d741cc</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon></coupon-list><prepay>0</prepay><need-password>no</need-password><customer-grade>VIP会员</customer-grade><card-num>0010650000000077</card-num></result>

/*******************实际接收内容**************************/

mited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>d0d483d614a24cbc80ff206888190915</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>d2888a5d99d84e72924d21e4f36ae36c</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>d2e396f1e92d484a84d323170d620509</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>d50139dbf36e409b9c5ad98ab2fc97fc</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>de496b5bbf0a4874a0bc832d241030d6</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>ded3241227304c02b6c679410a852bc8</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>dfa8c0dadc5e4ad3ad7849b2795ad433</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>e06e58e72eaf48359ab3602793f27641</coupon-id><name>98元生日蛋糕卷</name><money>9800</money><available>yes</available><limited-money>10000</limited-money><end-date>2010-09-04</end-date></coupon><coupon><coupon-id>eb5b55f4a6df4e73992f96148eecc216</coupon-id><name>98元生日蛋糕卷