<input id="ohw05"></input>
  • <table id="ohw05"><menu id="ohw05"></menu></table>
  • <var id="ohw05"></var>
  • <code id="ohw05"><cite id="ohw05"></cite></code>
    <label id="ohw05"></label>
    <var id="ohw05"></var>
  • HTTP PUT傳輸數據

    函數原型CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PUT, long put);

    參數3設置為1告訴庫使用HTTP PUT傳輸數據。應該使用CURLOPT_READDATA和CURLOPT_INFILESIZE設置數據。

    但是這是7.12.1版本前所使用的方式,在7.12.1版本后就使用CURLOPT_UPLOAD設置數據,但是如果將 libcurl 用作 win32 DLL,則必須使用CURLOPT_READFUNCTION如果設置此選項,否則將遇到崩潰。(查了很多資料都只看到說使用CURLOPT_UPLOAD設置數據,然后就一直在這個點出問題,最后看到官方文檔才恍然大悟)。

    更多詳情可以查看官網 libcurl

    下面給出使用例子:

    #include <curl/curl.h>
    #define PUTURL "xxxxxx"
    
    size_t read_content_callback(void *ptr, size_t size, size_t nmemb, void *stream)
    {
        //XXX
    }
    
    int main()
    {
        CURL                    *curl;                 //定義CURL類型的指針
        //初始化一個CURL類型的指針
        curl = curl_easy_init();
        //設置訪問URL
        curl_easy_setopt(curl, CURLOPT_URL, PUTURL);
        //聲明當前采用PUT方式
         curl_easy_setopt(curl, CURLOPT_PUT, 1);
        curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_content_callback);
        //iFileSize是你要傳輸的文件的大小
        curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, iFileSize);
        //執行本次HTTP/HTTPS請求
        res = curl_easy_perform(curl);
        //釋放資源
        curl_easy_cleanup(curl);
    }

     

    posted @ 2022-06-28 16:23  梅花五瓣  閱讀(1)  評論(0編輯  收藏  舉報
    国产美女a做受大片观看