- #include "curl/curl.h"
- #pragma comment(lib, "libcurl.lib")
- long writer(void *data, int size, int nmemb, string &content);
- bool CurlInit(CURL *&curl, const char* url,string &content);
- bool GetURLDataBycurl(const char* URL, string &content);
- void main()
- {
- char *url ="http://sdk.sudas.cn/SmsMmswebService/Service.asmx/g_Submit?";
- string content;
- if ( GetURLDataBycurl(url,content))
- {
- printf("%s\\n",content);
- }
- getchar();
- }
- bool GetURLDataBycurl(const char* URL, string &content)
- {
- CURL *curl = NULL;
- CURLcode code;
- string error;
- code = curl_global_init(CURL_GLOBAL_DEFAULT);
- if (code != CURLE_OK)
- {
- printf( "Failed to global init default [%d]\\n", code );
- return false;
- }
- if ( !CurlInit(curl,URL,content) )
- {
- printf( "Failed to global init default [%d]\\n" );
- return PM_FALSE;
- }
- code = curl_easy_perform(curl);
- if (code != CURLE_OK)
- {
- printf( "Failed to get '%s' [%s]\\n", URL, error);
- return false;
- }
- long retcode = 0;
- code = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE , &retcode);
- if ( (code == CURLE_OK) && retcode == 200 )
- {
- double length = 0;
- code = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD , &length);
- printf("%d",retcode);
- FILE * file = fopen("1.gif","wb");
- fseek(file,0,SEEK_SET);
- fwrite(content.c_str(),1,length,file);
- fclose(file);
- //struct curl_slist *list;
- //code = curl_easy_getinfo(curl,CURLINFO_COOKIELIST,&list);
- //curl_slist_free_all (list);
- return true;
- }
- else
- {
- // debug1( "%s \\n ",getStatusCode(retcode));
- return false;
- }
- curl_easy_cleanup(curl);
- return false;
- }
- //该片段来自于http://www.codesnippet.cn/detail/0809201513652.html
来源: http://www.codesnippet.cn/detail/0809201513652.html