cURLのすべて?もの

3476 ワード

コンセプト


定義:cURL(client,URL)
  • client-side program and URL client Request LIB.
  • クライアントプログラム+URLプログラム
  • URLを使用してクライアントにファイル/データをダウンロードするプログラム
  • .
  • libcurlライブラリを使用します.C API.
  • CMDワンポイントツール
  • オープンソース
  • Daniel Stenbergによって開発され、2500+の開発者が単独で参加し、
  • に貢献した.

    設定


    Linux

    # Ubunto, Debian
    apt install curl
    apt install libcurl4-openssl-dev
    # Redhat, CentOS
    yum install curl
    yum install libcurl-devel

    えんど


    https://curl.se/windows/

    クライアント-サーバコミュニケーションのプロセス

  • クライアント->
  • URLアクセスするホストアドレスを含む->
  • DNSサーバは、
  • という名前のアドレスをIPアドレスに変換する->
  • TCP->
  • に接続
  • から接続チャネル(ポート)を選択(デフォルトは80)->
  • 接続と移動するチャネルを完了した後、TLS握手(握手)によって信頼関係を確立し、安全なコミュニケーションを実現する.TLS握手終了後コミュニケーション開始->
  • 通信は、プロトコルという特定の言語やフォーマットによって行う(HTTP、HTTPS、POP 3、TELNET、SMTP、FTPなど++)
  • .

    実習


    curl website

    # -v = verbose
    curl -v http://example.com
    
    # 옵션을 붙이는 순서는 상관없다
    curl -vL http://example.com
    curl http://example.com -Lv
    curl -v -L http://example.com
    
    # 옵션 글을 길게 쓰려면 무조건 마이너스 두 개 필요 --
    curl --verbose http://example.com
    curl --verbose --location http://example.com
    curl --data arbitrary http://example.com
    
    # 옵션 제거 no- 사용
    curl --no-verbose http://example.com

    send argument

    curl -A "I am your father" http://example.com
    # Send double quotes
    curl -d '{ "name": "Darth" }' http://example.com

    curl sftp

    curl sftp://example.com/file.zip -u user
    curl sftp://example.com/ -u user
    # 인증
    curl -u john:RHvxC6wUA -O scp://ssh.example.com/file.tar.gz

    REF


    https://everything.curl.dev/cmdline/urls
    //curl option全集
    https://gist.github.com/eneko/dc2d8edd9a4b25c5b0725dd123f98b10