curl的安裝與簡單使用

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

windows 篇:

安裝篇:

我的電腦版本是windows7,64位,對應的curl下載地址如下:

https://curl.haxx.se/download.html

直接找到下面的這個版本:


curl-7.57.0.tar.gz	gpg	mirror	metalink

解壓,然后,命令行進入到 curl 目錄下:
我的路徑為:E:\curl-7.57.0\curl-7.57.0

在該目錄下 —— git bash here,或者,wind+r 快捷鍵 ?輸入cmd ,然后到該目錄下

然后,就可以用curl 命令了

例如:
?

curl 'www.baidu.com'

你會得到如下的信息:

 % Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed0     0    0     0    0     0      0      0 --:--:--  0:00:06 --:--:--     0

---------------------------------我是不靠譜的分割線----------------------------------------------

?

基本命令行:

首先,學每一種新知識之前,我們都要注重官方文檔。在沒有資料之前,我們可以先看幫助:、

curl --help

如下:

$ curl --help
Usage: curl [options...] <url>
Options: (H) means HTTP/HTTPS only, (F) means FTP only--anyauth       Pick "any" authentication method (H)-a, --append        Append to target file when uploading (F/SFTP)--basic         Use HTTP Basic Authentication (H)--cacert FILE   CA certificate to verify peer against (SSL)--capath DIR    CA directory to verify peer against (SSL)-E, --cert CERT[:PASSWD]  Client certificate file and password (SSL)--cert-status   Verify the status of the server certificate (SSL)--cert-type TYPE  Certificate file type (DER/PEM/ENG) (SSL)--ciphers LIST  SSL ciphers to use (SSL)--compressed    Request compressed response (using deflate or gzip)-K, --config FILE   Read config from FILE--connect-timeout SECONDS  Maximum time allowed for connection-C, --continue-at OFFSET  Resumed transfer OFFSET-b, --cookie STRING/FILE  Read cookies from STRING/FILE (H)-c, --cookie-jar FILE  Write cookies to FILE after operation (H)--create-dirs   Create necessary local directory hierarchy--crlf          Convert LF to CRLF in upload--crlfile FILE  Get a CRL list in PEM format from the given file-d, --data DATA     HTTP POST data (H)--data-raw DATA  HTTP POST data, '@' allowed (H)--data-ascii DATA  HTTP POST ASCII data (H)--data-binary DATA  HTTP POST binary data (H)--data-urlencode DATA  HTTP POST data url encoded (H)--delegation STRING  GSS-API delegation permission--digest        Use HTTP Digest Authentication (H)--disable-eprt  Inhibit using EPRT or LPRT (F)--disable-epsv  Inhibit using EPSV (F)--dns-servers   DNS server addrs to use: 1.1.1.1;2.2.2.2--dns-interface  Interface to use for DNS requests--dns-ipv4-addr  IPv4 address to use for DNS requests, dot notation--dns-ipv6-addr  IPv6 address to use for DNS requests, dot notation-D, --dump-header FILE  Write the headers to FILE--egd-file FILE  EGD socket path for random data (SSL)--engine ENGINE  Crypto engine (use "--engine list" for list) (SSL)--expect100-timeout SECONDS How long to wait for 100-continue (H)-f, --fail          Fail silently (no output at all) on HTTP errors (H)--false-start   Enable TLS False Start.-F, --form CONTENT  Specify HTTP multipart POST data (H)--form-string STRING  Specify HTTP multipart POST data (H)--ftp-account DATA  Account data string (F)--ftp-alternative-to-user COMMAND  String to replace "USER [name]" (F)--ftp-create-dirs  Create the remote dirs if not present (F)--ftp-method [MULTICWD/NOCWD/SINGLECWD]  Control CWD usage (F)--ftp-pasv      Use PASV/EPSV instead of PORT (F)-P, --ftp-port ADR  Use PORT with given address instead of PASV (F)--ftp-skip-pasv-ip  Skip the IP address for PASV (F)--ftp-pret      Send PRET before PASV (for drftpd) (F)--ftp-ssl-ccc   Send CCC after authenticating (F)--ftp-ssl-ccc-mode ACTIVE/PASSIVE  Set CCC mode (F)--ftp-ssl-control  Require SSL/TLS for FTP login, clear for transfer (F)-G, --get           Send the -d data with a HTTP GET (H)-g, --globoff       Disable URL sequences and ranges using {} and []-H, --header LINE   Pass custom header LINE to server (H)-I, --head          Show document info only-h, --help          This help text--hostpubmd5 MD5  Hex-encoded MD5 string of the host public key. (SSH)-0, --http1.0       Use HTTP 1.0 (H)--http1.1       Use HTTP 1.1 (H)--http2         Use HTTP 2 (H)--ignore-content-length  Ignore the HTTP Content-Length header-i, --include       Include protocol headers in the output (H/F)-k, --insecure      Allow connections to SSL sites without certs (H)--interface INTERFACE  Use network INTERFACE (or address)-4, --ipv4          Resolve name to IPv4 address-6, --ipv6          Resolve name to IPv6 address-j, --junk-session-cookies  Ignore session cookies read from file (H)--keepalive-time SECONDS  Wait SECONDS between keepalive probes--key KEY       Private key file name (SSL/SSH)--key-type TYPE  Private key file type (DER/PEM/ENG) (SSL)--krb LEVEL     Enable Kerberos with security LEVEL (F)--libcurl FILE  Dump libcurl equivalent code of this command line--limit-rate RATE  Limit transfer speed to RATE-l, --list-only     List only mode (F/POP3)--local-port RANGE  Force use of RANGE for local port numbers-L, --location      Follow redirects (H)--location-trusted  Like '--location', and send auth to other hosts (H)--login-options OPTIONS  Server login options (IMAP, POP3, SMTP)-M, --manual        Display the full manual--mail-from FROM  Mail from this address (SMTP)--mail-rcpt TO  Mail to this/these addresses (SMTP)--mail-auth AUTH  Originator address of the original email (SMTP)--max-filesize BYTES  Maximum file size to download (H/F)--max-redirs NUM  Maximum number of redirects allowed (H)-m, --max-time SECONDS  Maximum time allowed for the transfer--metalink      Process given URLs as metalink XML file--negotiate     Use HTTP Negotiate (SPNEGO) authentication (H)-n, --netrc         Must read .netrc for user name and password--netrc-optional  Use either .netrc or URL; overrides -n--netrc-file FILE  Specify FILE for netrc-:, --next          Allows the following URL to use a separate set of options--no-alpn       Disable the ALPN TLS extension (H)-N, --no-buffer     Disable buffering of the output stream--no-keepalive  Disable keepalive use on the connection--no-npn        Disable the NPN TLS extension (H)--no-sessionid  Disable SSL session-ID reusing (SSL)--noproxy       List of hosts which do not use proxy--ntlm          Use HTTP NTLM authentication (H)--oauth2-bearer TOKEN  OAuth 2 Bearer Token (IMAP, POP3, SMTP)-o, --output FILE   Write to FILE instead of stdout--pass PASS     Pass phrase for the private key (SSL/SSH)--path-as-is    Do not squash .. sequences in URL path--pinnedpubkey FILE/HASHES Public key to verify peer against (SSL)--post301       Do not switch to GET after following a 301 redirect (H)--post302       Do not switch to GET after following a 302 redirect (H)--post303       Do not switch to GET after following a 303 redirect (H)-#, --progress-bar  Display transfer progress as a progress bar--proto PROTOCOLS  Enable/disable PROTOCOLS--proto-default PROTOCOL  Use PROTOCOL for any URL missing a scheme--proto-redir PROTOCOLS   Enable/disable PROTOCOLS on redirect-x, --proxy [PROTOCOL://]HOST[:PORT]  Use proxy on given port--proxy-anyauth  Pick "any" proxy authentication method (H)--proxy-basic   Use Basic authentication on the proxy (H)--proxy-digest  Use Digest authentication on the proxy (H)--proxy-negotiate  Use HTTP Negotiate (SPNEGO) authentication on the proxy (H)--proxy-ntlm    Use NTLM authentication on the proxy (H)--proxy-service-name NAME  SPNEGO proxy service name--service-name NAME  SPNEGO service name-U, --proxy-user USER[:PASSWORD]  Proxy user and password--proxy1.0 HOST[:PORT]  Use HTTP/1.0 proxy on given port-p, --proxytunnel   Operate through a HTTP proxy tunnel (using CONNECT)--pubkey KEY    Public key file name (SSH)-Q, --quote CMD     Send command(s) to server before transfer (F/SFTP)--random-file FILE  File for reading random data from (SSL)-r, --range RANGE   Retrieve only the bytes within RANGE--raw           Do HTTP "raw"; no transfer decoding (H)-e, --referer       Referer URL (H)-J, --remote-header-name  Use the header-provided filename (H)-O, --remote-name   Write output to a file named as the remote file--remote-name-all  Use the remote file name for all URLs-R, --remote-time   Set the remote file's time on the local output-X, --request COMMAND  Specify request command to use--resolve HOST:PORT:ADDRESS  Force resolve of HOST:PORT to ADDRESS--retry NUM   Retry request NUM times if transient problems occur--retry-delay SECONDS  Wait SECONDS between retries--retry-max-time SECONDS  Retry only within this period--sasl-ir       Enable initial response in SASL authentication-S, --show-error    Show error. With -s, make curl show errors when they occur-s, --silent        Silent mode (don't output anything)--socks4 HOST[:PORT]  SOCKS4 proxy on given host + port--socks4a HOST[:PORT]  SOCKS4a proxy on given host + port--socks5 HOST[:PORT]  SOCKS5 proxy on given host + port--socks5-hostname HOST[:PORT]  SOCKS5 proxy, pass host name to proxy--socks5-gssapi-service NAME  SOCKS5 proxy service name for GSS-API--socks5-gssapi-nec  Compatibility with NEC SOCKS5 server-Y, --speed-limit RATE  Stop transfers below RATE for 'speed-time' secs-y, --speed-time SECONDS  Trigger 'speed-limit' abort after SECONDS (default: 30)--ssl           Try SSL/TLS (FTP, IMAP, POP3, SMTP)--ssl-reqd      Require SSL/TLS (FTP, IMAP, POP3, SMTP)-2, --sslv2         Use SSLv2 (SSL)-3, --sslv3         Use SSLv3 (SSL)--ssl-allow-beast  Allow security flaw to improve interop (SSL)--ssl-no-revoke    Disable cert revocation checks (WinSSL)--stderr FILE   Where to redirect stderr (use "-" for stdout)--tcp-nodelay   Use the TCP_NODELAY option-t, --telnet-option OPT=VAL  Set telnet option--tftp-blksize VALUE  Set TFTP BLKSIZE option (must be >512)-z, --time-cond TIME  Transfer based on a time condition-1, --tlsv1         Use >= TLSv1 (SSL)--tlsv1.0       Use TLSv1.0 (SSL)--tlsv1.1       Use TLSv1.1 (SSL)--tlsv1.2       Use TLSv1.2 (SSL)--trace FILE    Write a debug trace to FILE--trace-ascii FILE  Like --trace, but without hex output--trace-time    Add time stamps to trace/verbose output--tr-encoding   Request compressed transfer encoding (H)-T, --upload-file FILE  Transfer FILE to destination--url URL       URL to work with-B, --use-ascii     Use ASCII/text transfer-u, --user USER[:PASSWORD]  Server user and password--tlsuser USER  TLS username--tlspassword STRING  TLS password--tlsauthtype STRING  TLS authentication type (default: SRP)--unix-socket FILE    Connect through this Unix domain socket-A, --user-agent STRING  Send User-Agent STRING to server (H)-v, --verbose       Make the operation more talkative-V, --version       Show version number and quit-w, --write-out FORMAT  Use output FORMAT after completion--xattr         Store metadata in extended file attributes-q                  Disable .curlrc (must be first parameter)

每一種命令之后都跟了,英文說明,我暫時就不做翻譯了。

下面介紹幾個常用的命令:

1.查看網頁源代碼,以 www.oschina.net 為例

curl www.oschina.net

抱歉,我內網受限,總訪問超時,只能得到如下信息。?

$ curl https://www.oschina.net/% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed0     0    0     0    0     0      0      0 --:--:--  0:00:15 --:--:--     0

然后是保存這個文件。

curl -o [文件名] www.sina.com

curl -0 china www.oschina.net

2.只顯示頭信息 在curl 命令中加上 -i 即可,操作時將網址換成對應自己的,例如:www.oschina.net

$ curl -i -XGET 'localhost:9200/'% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100   432  100   432    0     0  27000      0 --:--:-- --:--:-- --:--:-- 27000HTTP/1.1 200 OK
content-type: application/json; charset=UTF-8
content-length: 432{"name" : "5ZS6Wl8","cluster_name" : "elasticsearch","cluster_uuid" : "gY8furXtSsGJr5Nmlv0oNg","version" : {"number" : "6.1.1","build_hash" : "bd92e7f","build_date" : "2017-12-17T20:23:25.338Z","build_snapshot" : false,"lucene_version" : "7.1.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}

3.顯示通信過程(ip地址,端口號)

$ curl -v www.oschina.net
* Rebuilt URL to: www.oschina.net/
* timeout on name lookup is not supported
*   Trying 116.211.174.177...% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed0     0    0     0    0     0      0      0 --:--:--  0:00:14 --:--:--     0

想看更詳細的就使用

curl --trace output.txt www.oschina.net

打開output.txt文件就有相關信息

$ curl.exe 'http://localhost:9200/?pretty'% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100   432  100   432    0     0  28800      0 --:--:-- --:--:-- --:--:-- 28800{"name" : "5ZS6Wl8","cluster_name" : "elasticsearch","cluster_uuid" : "gY8furXtSsGJr5Nmlv0oNg","version" : {"number" : "6.1.1","build_hash" : "bd92e7f","build_date" : "2017-12-17T20:23:25.338Z","build_snapshot" : false,"lucene_version" : "7.1.0","minimum_wire_compatibility_version" : "5.6.0","minimum_index_compatibility_version" : "5.0.0"},"tagline" : "You Know, for Search"
}

附上一個gitbook版本的全部教程說明,英文版,嗚嗚,需要的童鞋點擊下面:

https://www.gitbook.com/book/bagder/everything-curl/details

后續,會再做更新,蟹蟹您的閱讀。
linux篇:

?

1.獲得安裝包,從網上直接下載或者其他途徑,這里直接wget

wget http://curl.haxx.se/download/curl-7.20.0.tar.gz
  • 1
  • 2

2.解壓到當前目錄(或者?http://www.linuxidc.com/Linux/2014-08/106022.htm)

 tar -zxf curl-7.20.0.tar.gz
  • 1
  • 2

3.進入解壓后的目錄內

  cd curl-7.17.1
  • 1
  • 2

4.配置,指定安裝的目錄,這里是“/usr/local/curl”

 ./configure --prefix=/usr/local/curlmake
  • 1
  • 2
  • 3

5.安裝?
make install

轉載于:https://my.oschina.net/xiaomingnevermind/blog/1605304

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/391515.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/391515.shtml
英文地址,請注明出處:http://en.pswp.cn/news/391515.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

gcc 編譯過程

gcc 編譯過程從 hello.c 到 hello(或 a.out)文件&#xff0c; 必須歷經 hello.i、 hello.s、 hello.o&#xff0c;最后才得到 hello(或a.out)文件&#xff0c;分別對應著預處理、編譯、匯編和鏈接 4 個步驟&#xff0c;整個過程如圖 10.5 所示。 這 4 步大致的工作內容如下&am…

虎牙直播電影一天收入_電影收入

虎牙直播電影一天收入“美國電影協會(MPAA)的首席執行官J. Valenti提到&#xff1a;“沒有人能告訴您電影在市場上的表現。 直到電影在黑暗的劇院里放映并且銀幕和觀眾之間都散發出火花。 (“The CEO of Motion Picture Association of America (MPAA) J. Valenti mentioned th…

郵箱如何秘密發送多個人郵件_如何發送秘密消息

郵箱如何秘密發送多個人郵件Cryptography is the science of using codes and ciphers to protect messages, at its most basic level. Encryption is encoding messages with the intent of only allowing the intended recipient to understand the meaning of the message.…

leetcode 面試題 17.21. 直方圖的水量(單調棧)

給定一個直方圖(也稱柱狀圖)&#xff0c;假設有人從上面源源不斷地倒水&#xff0c;最后直方圖能存多少水量?直方圖的寬度為 1。 上面是由數組 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方圖&#xff0c;在這種情況下&#xff0c;可以接 6 個單位的水&#xff08;藍色部分表示水&a…

python:動態參數*args

動態參數 顧名思義&#xff0c;動態參數就是傳入的參數的個數是動態的&#xff0c;可以是1個、2個到任意個&#xff0c;還可以是0個。在不需要的時候&#xff0c;你完全可以忽略動態函數&#xff0c;不用給它傳遞任何值。 Python的動態參數有兩種&#xff0c;分別是*args和**kw…

3.5. Ticket

過程 3.4. Ticket 使用方法 New Ticket 新建Ticket, Ticket 可以理解為任務。 將Ticket 分配給團隊成員 受到Ticket后&#xff0c;一定要更改Ticket 為 accept &#xff0c; 這時在View Tickets 中將會看到該Ticket已經分配&#xff0c; 編碼過程 這里有一個特別的規定&…

Python操作Mysql實例代碼教程在線版(查詢手冊)_python

實例1、取得MYSQL的版本在windows環境下安裝mysql模塊用于python開發MySQL-python Windows下EXE安裝文件下載 復制代碼 代碼如下:# -*- coding: UTF-8 -*- #安裝MYSQL DB for pythonimport MySQLdb as mdb con None try: #連接mysql的方法&#xff1a;connect(ip,user,pass…

批判性思維_為什么批判性思維技能對數據科學家至關重要

批判性思維As Alexander Pope said, to err is human. By that metric, who is more human than us data scientists? We devise wrong hypotheses constantly and then spend time working on them just to find out how wrong we were.正如亞歷山大波普(Alexander Pope)所說…

leetcode 1143. 最長公共子序列(dp)

給定兩個字符串 text1 和 text2&#xff0c;返回這兩個字符串的最長 公共子序列 的長度。如果不存在 公共子序列 &#xff0c;返回 0 。 一個字符串的 子序列 是指這樣一個新的字符串&#xff1a;它是由原字符串在不改變字符的相對順序的情況下刪除某些字符&#xff08;也可以…

【Spark】SparkStreaming-Kafka-Redis-集成-基礎參考資料

SparkStreaming-Kafka-Redis-集成-基礎參考資料 Overview - Spark 2.2.0 DocumentationSpark Streaming Kafka Integration Guide - Spark 2.2.0 DocumentationSpark Streaming Kafka Integration Guide (Kafka broker version 0.8.2.1 or higher) - Spark 2.2.0 Documentat…

Manjaro 17 搭建 redis 4.0.1 集群服務

安裝Redis在Linux環境中 這里我們用的是manjaro一個小眾一些的發行版 我選用的是manjaro 17 KDE 如果你已經安裝好了manjaro 那么你需要準備一個redis.tar.gz包 這里我選用的是截至目前最新的redis 4.0.1版本 我們可以在官網進行下載 https://redis.io/download選擇Stable &…

了解如何使用Flutter構建iOS和Android應用

Learn Flutter in this full course from Nick Manning (of fluttercrashcourse.com). Flutter is Google’s multi-platform mobile development framework used to create apps for Android and iOS using the Dart programming language. 可以從fluttercrashcourse.com的Nic…

leetcode 781. 森林中的兔子(hashmap)

森林中&#xff0c;每個兔子都有顏色。其中一些兔子&#xff08;可能是全部&#xff09;告訴你還有多少其他的兔子和自己有相同的顏色。我們將這些回答放在 answers 數組里。 返回森林中兔子的最少數量。 示例: 輸入: answers [1, 1, 2] 輸出: 5 解釋: 兩只回答了 “1” 的兔…

快速排序簡便記_建立和測試股票交易策略的快速簡便方法

快速排序簡便記Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an author’s works without se…

Java學習第1天:序言,基礎及配置tomcat

所謂是福不是禍&#xff0c;是禍躲不過&#xff0c;到底還是回到java的陣地上來。既然它這么熱&#xff0c;那就學學它&#xff0c;現在這件事已經提上議事日程&#xff0c;也已經開始。 今天做的事&#xff1a; 泛泛的翻了幾本書&#xff0c;敲了一些練習代碼&#xff0c;比如…

robot:List變量的使用注意點

創建list類型變量&#xff0c;兩種方式&#xff0c;建議使用Create List關鍵字 使用該列表變量時需要變為${}方式&#xff0c;切記切記&#xff01; 轉載于:https://www.cnblogs.com/gcgc/p/11429482.html

python基礎教程(十一)

迭代器 本節進行迭代器的討論。只討論一個特殊方法---- __iter__ &#xff0c;這個方法是迭代器規則的基礎。 迭代器規則 迭代的意思是重復做一些事很多次---就像在循環中做的那樣。__iter__ 方法返回一個迭代器&#xff0c;所謂迭代器就是具有next方法的對象&#xff0c;在調…

編程需要數學知識嗎_編程需要了解數學嗎?

編程需要數學知識嗎Does programming require knowing math? Not necessarily. 編程需要了解數學嗎&#xff1f; 不必要。 When I say that, Im mostly talking about Web Development, not working with graphics or specific applications that require advanced math. 當我…

美劇迷失_迷失(機器)翻譯

美劇迷失Machine translation doesn’t generate as much excitement as other emerging areas in NLP these days, in part because consumer-facing services like Google Translate have been around since April 2006.如今&#xff0c;機器翻譯并沒有像其他NLP新興領域那樣…

mysql 1449 : The user specified as a definer ('usertest'@'%') does not exist 解決方法 (grant 授予權限)...

從服務器上遷移數據庫到本地localhost 執行 函數 時報錯&#xff0c; mysql 1449 &#xff1a; The user specified as a definer (usertest%) does not exist 經查&#xff0c;是權限問題(其中usertest是服務器上數據庫的登錄名)&#xff0c;解決辦法&#xff1a; 授權給 u…