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/
需安裝下列函式庫
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/
留言
張貼留言