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