最近在學習libcurl,開發環境是vs2008+libcurl.lib+unicode編碼
廢話不多說直接上圖上代碼
int _tmain(int argc, _TCHAR* argv[])
{
CURL *curl;
CURLcode res;
FILE* fptr;
struct curl_slist *http_header = NULL;
if ((fptr = fopen(FILENAME,"w")) == NULL)
{
fprintf(stderr,"fopen file error:%s\n",FILENAME);
return -1;
}
curl = curl_easy_init();
if (!curl)
{
fprintf(stderr,"curl init failed\n");
return -1;
}
curl_easy_setopt(curl,CURLOPT_URL,POSTURL); //url地址
curl_easy_setopt(curl,CURLOPT_POSTFIELDS,POSTFIELDS); //post引數
curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,write_data); //對回傳的資料進行操作的函式地址
curl_easy_setopt(curl,CURLOPT_WRITEDATA,fptr); //這是write_data的第四個引數值
curl_easy_setopt(curl,CURLOPT_POST,1); //設定問非0表示本次操作為post
curl_easy_setopt(curl,CURLOPT_VERBOSE,1); //列印除錯資訊
curl_easy_setopt(curl,CURLOPT_HEADER,1); //將回應頭資訊和相應體一起傳給write_data
curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1); //設定為非0,回應頭資訊location
curl_easy_setopt(curl,CURLOPT_COOKIEFILE,"/Users/zhu/CProjects/curlposttest.cookie");
res = curl_easy_perform(curl);
if (res != CURLE_OK)
{
switch(res)
{
case CURLE_UNSUPPORTED_PROTOCOL:
fprintf(stderr,"不支持的協議,由URL的頭部指定\n");
case CURLE_COULDNT_CONNECT:
fprintf(stderr,"不能連接到remote主機或者代理\n");
case CURLE_HTTP_RETURNED_ERROR:
fprintf(stderr,"http回傳錯誤\n");
case CURLE_READ_ERROR:
fprintf(stderr,"讀本地檔案錯誤\n");
default:
fprintf(stderr,"回傳值:%d\n",res);
}
//return -1;
}
curl_easy_cleanup(curl);
getchar();
return 0;
}
列印的資訊如下

但扒取的內容是亂碼,如下圖

但是獲取到的網頁資訊是亂碼,請問這要如何轉碼呢??具體代碼是什么,非常感謝各位
uj5u.com熱心網友回復:
這。。。。沒人嗎? 自己頂~!uj5u.com熱心網友回復:
C++使用curl庫發送https請求中文亂碼問題uj5u.com熱心網友回復:
不行哦,試過了,我的是big5碼
uj5u.com熱心網友回復:
轉碼不就得了轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/52917.html
標籤:網絡編程
