curl_easy_setopt函數介紹

來源:互聯網
上載者:User

本節主要介紹curl_easy_setopt中跟http相關的參數。注意本節的闡述都是以libcurl作為主體,其它為客體來闡述的。
1.     CURLOPT_URL
設定訪問URL
2.       CURLOPT_WRITEFUNCTION,CURLOPT_WRITEDATA
回呼函數原型為:size_t function( void *ptr, size_t size, size_t nmemb, void *stream); 函數將在libcurl接收到資料後被調用,因此函數多做資料儲存的功能,如處理下載檔案。CURLOPT_WRITEDATA 用於表明CURLOPT_WRITEFUNCTION函數中的stream指標的來源。
3.      CURLOPT_HEADERFUNCTION,CURLOPT_HEADERDATA
回呼函數原型為 size_t function( void *ptr, size_t size,size_t nmemb, void *stream); libcurl一旦接收到http 頭部資料後將調用該函數。CURLOPT_WRITEDATA 傳遞指標給libcurl,該指標表明CURLOPT_HEADERFUNCTION 函數的stream指標的來源。
4.       CURLOPT_READFUNCTION CURLOPT_READDATA
libCurl需要讀取資料傳遞給遠程主機時將調用CURLOPT_READFUNCTION指定的函數,函數原型是:size_t function(void *ptr, size_t size, size_t nmemb,void *stream). CURLOPT_READDATA 表明CURLOPT_READFUNCTION函數原型中的stream指標來源。
5.       CURLOPT_NOPROGRESS,CURLOPT_PROGRESSFUNCTION,CURLOPT_PROGRESSDATA
跟資料轉送進度相關的參數。CURLOPT_PROGRESSFUNCTION 指定的函數正常情況下每秒被libcurl調用一次,為了使CURLOPT_PROGRESSFUNCTION被調用,CURLOPT_NOPROGRESS必須被設定為false,CURLOPT_PROGRESSDATA指定的參數將作為CURLOPT_PROGRESSFUNCTION指定函數的第一個參數
6.       CURLOPT_TIMEOUT,CURLOPT_CONNECTIONTIMEOUT:
CURLOPT_TIMEOUT 由於設定傳輸時間,CURLOPT_CONNECTIONTIMEOUT 設定串連等待時間
7.       CURLOPT_FOLLOWLOCATION
設定重定位URL
CURLOPT_RANGE: CURLOPT_RESUME_FROM:
斷點續傳相關設定。CURLOPT_RANGE 指定char *參數傳遞給libcurl,用於指明http域的RANGE頭域,例如:
表示頭500個位元組:bytes=0-499
表示第二個500位元組:bytes=500-999
表示最後500個位元組:bytes=-500
表示500位元組以後的範圍:bytes=500-
第一個和最後一個位元組:bytes=0-0,-1
同時指定幾個範圍:bytes=500-600,601-999
    CURLOPT_RESUME_FROM 傳遞一個long參數給libcurl,指定你希望開始傳遞的
位移量。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.