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.mzph.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…

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)所说…

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 &…

快速排序简便记_建立和测试股票交易策略的快速简便方法

快速排序简便记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…

robot:List变量的使用注意点

创建list类型变量&#xff0c;两种方式&#xff0c;建议使用Create List关键字 使用该列表变量时需要变为${}方式&#xff0c;切记切记&#xff01; 转载于:https://www.cnblogs.com/gcgc/p/11429482.html

python基础教程(十一)

迭代器 本节进行迭代器的讨论。只讨论一个特殊方法---- __iter__ &#xff0c;这个方法是迭代器规则的基础。 迭代器规则 迭代的意思是重复做一些事很多次---就像在循环中做的那样。__iter__ 方法返回一个迭代器&#xff0c;所谓迭代器就是具有next方法的对象&#xff0c;在调…

美剧迷失_迷失(机器)翻译

美剧迷失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新兴领域那样…

机器学习中决策树的随机森林_决策树和随机森林在机器学习中的使用

机器学习中决策树的随机森林机器学习 (Machine Learning) Machine learning is an application of artificial intelligence that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. The 3 main categor…

【Python算法】遍历(Traversal)、深度优先(DFS)、广度优先(BFS)

图结构&#xff1a; 非常强大的结构化思维&#xff08;或数学&#xff09;模型。如果您能用图的处理方式来规范化某个问题&#xff0c;即使这个问题本身看上去并不像个图问题&#xff0c;也能使您离解决问题更进一步。 在众多图算法中&#xff0c;我们常会用到一种非常实用的思…

我如何预测10场英超联赛的确切结果

Is there a way to predict the outcome of any soccer game with 100% accuracy? The honest and simplest answer is…. no. Regardless of what your fantasy football friends say, there is absolutely no way to be 100% certain, but there is a proven, mathematical …

深度学习数据自动编码器_如何学习数据科学编码

深度学习数据自动编码器意见 (Opinion) When I first wanted to learn programming, I coded along to a 4 hour long YouTube tutorial.刚开始学习编程时&#xff0c;我编写了长达4个小时的YouTube教程。 “Great,” I thought after finishing the course. “I know how to …

Angular 5.0 学习2:Angular 5.0 开发环境的搭建和新建第一个ng5项目

1.安装Node.js 在开始工作之前&#xff0c;我们必须设置好开发环境。如果你的机器上还没有Node.js和npm&#xff0c;请先安装它们。去Node.js的官网&#xff0c;https://nodejs.org/en/&#xff0c;点击下载按钮&#xff0c;下载最新版本&#xff0c;直接下一步下一步安装即可&…

robot:根据条件主动判定用例失败或者通过

场景&#xff1a; 当用例中的断言部分需要满足特定条件时才会执行&#xff0c;如果不满足条件时&#xff0c;可以主动判定该用例为passed状态&#xff0c;忽略下面的断言语句。 如上图场景&#xff0c;当每月1号时&#xff0c;表中才会生成上月数据&#xff0c;生成后数据不会再…

图深度学习-第1部分

有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING) These are the lecture notes for FAU’s YouTube Lecture “Deep Learning”. This is a full transcript of the lecture video & matching slides. We hope, you enjoy this as much as the videos. Of cou…

Git上传项目到github

2019独角兽企业重金招聘Python工程师标准>>> Git入门 个人理解git就是一个上传工具&#xff0c;同时兼具和svn一样的版本控制功能&#xff08;此解释纯属本人个人观点&#xff09; Github是什么 github就是一个分布式版本管理系统&#xff08;反正我就是这么认为的…

robot:当用例失败时执行关键字(发送短信)

使用场景&#xff1a; 当用例失败时需要通知对应人员&#xff0c;则需要在Teardown中&#xff0c;使用关键字Run Keyword If Test Failed Send Message关键字为自定义关键字&#xff0c;${content}为短信内容&#xff0c;${msg_receiver}为短信接收者列表。 当然执行成功时需要…

项目经济规模的估算方法_估算英国退欧的经济影响

项目经济规模的估算方法On June 23 2016, the United Kingdom narrowly voted in a country-wide referendum to leave the European Union (EU). Economists at the time warned of economic losses; the Bank of England produced estimates that that GDP could be as much …

奇迹网站可视化排行榜]_外观可视化奇迹

奇迹网站可视化排行榜]When reading a visualization is what we see really what we get?阅读可视化内容时&#xff0c;我们真正看到的是什么&#xff1f; This post summarizes and accompanies our paper “Surfacing Visualization Mirages” that was presented at CHI …