c語言-執行curl (ubuntu)

測試環境為ubuntu14.04
需安裝下列函式庫

1.apt-get install libcurl3
2.apt-get install libcurl4-openssl-dev 。

安裝完成後查看是否有/usr/include/curl 這個目錄,有說明安裝成功。

第二次編譯的時候,提示

/tmp/ccVvExfd.o: In function `main':
test.c:(.text+0xa1): undefined reference to `curl_easy_init'
test.c:(.text+0xd4): undefined reference to `curl_easy_setopt'
test.c:(.text+0xe0): undefined reference to `curl_easy_perform'
test.c:(.text+0xf0): undefined reference to `curl_easy_cleanup'
collect2: ld returned 1 exit status

估計是找不到庫的引用,嘗試在編譯時,加上-l 選項即可,例如:

3.gcc get_htm.c -o get_htm -lcurl

範例程式
#include <stdio.h>
#include <curl/curl.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
    CURL *curl;             //定義CURL類型的指針
        CURLcode res;           //定義CURLcode類型的變量,保存返回狀態碼
    if(argc!=2)
    {
        printf("Usage : file <url>;/n");
        exit(1);
    }

    curl = curl_easy_init();        //初始化一個CURL類型的指針
    if(curl!=NULL)
    {
        //設置curl選項. 其中CURLOPT_URL是讓用戶指定url. argv[1]中存放的命令行傳進來的網址
        curl_easy_setopt(curl, CURLOPT_URL, argv[1]);     
        //調用curl_easy_perform 執行我們的設置.並進行相關的操作. 在這裏只在屏幕上顯示出來.
        res = curl_easy_perform(curl);
        //清除curl操作.
        curl_easy_cleanup(curl);
    }
    return 0;
}

實際執行必須代網址參數例如
./get_htm https://tw.news.yahoo.com/

留言

這個網誌中的熱門文章

c語言-關於#define用法

PHP教學 - 資料型態(Data Type) - 上

CMD常用網管指令