curlカールを始めよう


備考

このセクションでは、curlの概要と、なぜ開発者がそれを使いたいのかを概説します。

また、カールの中にある大きなテーマについても言及し、関連するトピックにリンクする必要があります。 curlのドキュメンテーションは新しいので、それらの関連トピックの初期バージョンを作成する必要があります。

カールを使用してデータを転送する

cURLは、「URL用のクライアント」を表し、 クライアントURL要求ライブラリとも呼ばれるプロジェクトの名前です

curlとlibcurlの2つのパッケージが組み合わされています。

  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は何千ものサービス、アプリケーション、デバイスで使用されており、非常に多くの場合、高水準言語のプログラマがその権限にアクセスできるようにする「言語バインディング」の1つによって使用されます。

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 --version
 

リモートリソースを取得し、それを端末に表示させる:

curl http://stackoverflow.com
 

リモートリソースを取得してローカルファイルに保存する:

curl -o file https://stackoverflow.com
 

応答にヘッダーを追加する:

curl -i http://stackoverflow.com
 

出力専用ヘッダー:

curl -I http://stackoverflow.com