curl捲曲入門


備註

本節概述了curl是什麼,以及開發人員為什麼要使用它。

它還應該提到捲曲中的任何大型主題,並鏈接到相關主題。由於curl的文檔是新的,您可能需要創建這些相關主題的初始版本。

使用curl傳輸數據

cURL是項目的名稱,描述了“客戶端的URL”,也稱為客戶端URL請求庫

它結合了兩個獨立的包:curl和libcurl。

  1. curl 是一個命令行工具,用於從服務器獲取文檔/文件或使用任何支持的協議將文檔發送到服務器:DICT,FILE,FTP,FTPS,Gopher,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3 ,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMTP,SMTPS,Telnet和TFTP。

  2. libcurl 是curl用於進行實際網絡和傳輸工作的底層庫。 libcurl被成千上萬的服務,應用程序和設備使用,並且經常通過允許更高​​級語言的程序員訪問其權限的“語言綁定”之一。

使用libcurl easy C API獲取遠程資源

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

int main(void)
{
  CURL *curl;
  CURLcode res;

  curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");

    /* example.com is redirected, so we tell libcurl to follow redirection */
    curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);

    /* Perform the request, res will get the return code */
    res = curl_easy_perform(curl);
    /* Check for errors */
    if(res != CURLE_OK)
      fprintf(stderr, "curl_easy_perform() failed: %s\n",
              curl_easy_strerror(res));

    /* always cleanup */
    curl_easy_cleanup(curl);
  }
  return 0;
}
 

在PHP中使用curl來獲取數據

<?php
 
    $ch = curl_init(); //curl handler init

    curl_setopt($ch,CURLOPT_URL,"http://www.google.com/search?q=curl");
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);// set optional params
    curl_setopt($ch,CURLOPT_HEADER, false); 
 
    $result=curl_exec($ch);
 
    curl_close($ch);
 
    echo $result;
?>
 

通過命令行使用curl

顯示捲曲版本:

curl --version
 

獲取遠程資源並將其顯示在終端中:

curl http://stackoverflow.com
 

獲取遠程資源並將其保存在本地文件中:

curl -o file https://stackoverflow.com
 

添加標題以響應:

curl -i http://stackoverflow.com
 

僅輸出標題:

curl -I http://stackoverflow.com