一、Linux C語言使用 libcurl 訪問URL網頁

用libcurl庫訪問一個URL
食用方法:

1. 調用curl_global_init()初始化libcurl
2. 調用curl_easy_init()函數得到 easy interface型指針
3. 調用curl_easy_setopt()設置傳輸選項
4. 根據curl_easy_setopt()設置的傳輸選項,實現回調函數以完成用戶特定任務
5. 調用curl_easy_perform()函數完成傳輸任務
6. 調用curl_easy_cleanup()釋放內存
7. 調用curl_global_cleanup()析構libcurl

直接放代碼:

#include <curl/curl.h>
#include <stdio.h>
#include <stdlib.h>	//exit


int call_url(char *url);

int main(int argc, char **argv)
{
	if(argv[1]==NULL)
	{
		printf("usage:%s url\n",argv[0]);
		exit(1);
	}

	call_url(argv[1]);

    return 0;
}

int call_url(char *url)
{
	// 初始化libcurl
    CURLcode return_code;
	//不要在每個線程中都調用curl_global_init,應該將該函數的調用放在主線程中。
    return_code = curl_global_init(CURL_GLOBAL_ALL);//初始化所有的可能的調用
    if (CURLE_OK != return_code)
    {
        printf("init libcurl failed.");
        return -1;
    }
 
    CURL *easy_handle = curl_easy_init();
    if (NULL == easy_handle)
    {
        printf("get a easy handle failed.");
        curl_global_cleanup(); 
        return -1;
    }

    //curl_easy_setopt(easy_handle,CURLOPT_URL,"www.baidu.com");
    curl_easy_setopt(easy_handle,CURLOPT_URL,url);//	
	//不做其他設置的話,默認輸出到屏幕:
	//執行請求
    curl_easy_perform(easy_handle);   

    curl_easy_cleanup(easy_handle);
    curl_global_cleanup();//對curl_global_init做的工作清理

}

編譯方式:

gcc curl_1.c -lcurl

訪問百度,看結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章