【Shell】网络利器之 curl
来源:互联网 发布:网络有前景的项目 编辑:程序博客网 时间:2024/05/16 05:32
简介
curl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。
简单点说,curl就是以URL为基础的网络请求工具,支持绝大部分的应用层协议,官方Supports:
DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet and TFTP. curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, cookies, user+password authentication (Basic, Plain, Digest, CRAM-MD5, NTLM, Negotiate and Kerberos), file transfer resume, proxy tunneling and more.
参数
列举常用的参数,详情可以使用man或查阅官网。
user-agent
-b/–cookie 设置cookie(以name=value
的形式,以;
分开),也可配合cookie文件(读取文件的话配合-D
使用) -X 请求方法,默认GET -d/–data 请求参数 -D, –dump-header 导出响应头至指定文件 -e/–referer 来源地址,即HTTP请求头referer
–connect-timeout 设置请求超时时间 –crlf 上传是把LF转变成CRLF(回车换行) -F 模拟表单提交,请求头为multipart/form-data
-f/–fail 连接失败时直接提示装填码 -G/–get 以GET的方式来发送数据 -H/–header 设置请求头,设置多个请求头需使用多个-H
-L 如果响应头有Location
,则客户端依此重定向 –ignore-content-length 忽略HTTP头信息的长度 -I/–head 只显示响应头信息 –limit-rate 设置传输速度 -o 或 >重定向 设置文件输出位置 -# 或 –progress 显示进度条,默认不显示 –retry-delay 设置失败重试间隔时间 –retry-max-time 设置失败最大重试时间 -s/–silent 静默模式,不输出任何东西用例
1.最简单的请求
curl http://baidu.com
2.下载中科大的ubuntu
镜像,显示进度条,并重命名为ubuntu64.iso
curl -# -o ubuntu64.iso http://219.238.7.69/files/21770000093D9255/d1sux8hvljkk5b.cloudfront.net/ubuntu-16.10-desktop-amd64.iso
3.带cookie请求(可用-H的cookie:"key:value;"
代替)
curl -d '' -b 'name=leo' http://localhost:8080/cookie 或curl -d '' -H 'cookie:name=leo' http://localhost:8080/cookie
4.带cookie请求(读取本地文件)
curl -d '' -D head.txt http://localhost:8080/saveCookie #保存响应头至head.txtcurl -d '' -b head.txt http://localhost:8080/cookie #带上刚才的响应头
5.POST带参数请求(application/x-www-form-urlencoded)
curl -d '' http://pingcai.me/api/login?n=123&p=123或curl -d 'n=123&p=123' http://localhost:8080/login
6.模拟表单提交(multipart/form-data)
curl -F upload=/tmp/a.txt -F n='tom' http://localhost:8080/upload #上传文件
7.POST带JSON数据
curl -d '{"name":"leo","passwd":"123"}' -H 'content-type:application/json' http://localhost:8080/json
8.下载Oracle的JDK(主要是-L和-H)
比较复杂,参见:http://blog.csdn.net/gsls200808/article/details/52336745
- 【Shell】网络利器之 curl
- shell中的curl网络请求
- Curl之网络代理
- shell之curl用法笔记
- shell之curl用法笔记
- shell 脚本之 curl 请求
- cocos2dx网络传输之CURL
- PHP socket网络编程之使用curl
- PHP网络爬虫之CURL学习
- PHP网络爬虫之CURL学习
- shell之网络相关配置文件
- Chrome DevTools 之 Network,网络加载分析利器
- curl shell 用法
- shell高级网络工具curl
- shell 模拟curl
- shell批量调用curl
- Linux命令之curl - 强大的网络传输工具
- Linux命令之curl - 强大的网络传输工具
- Netty
- cocos2d创建不规则按钮
- java结构体系
- 对一个项目同时使用svn和git两个远程仓库
- ★实验 8-2 1. 创建两个守候进程。每个守候进程各自创建独立的日志文件。 2. 每隔 1s 向日志文件中写入如下信息: a) 守候进程 1:未使用的内存大小(MemFree) b) 守
- 【Shell】网络利器之 curl
- Win 7 用虚拟机安装Ubuntu系统
- ubuntu ssh使用详解
- HDU 2141 详解
- 金融风控-->申请评分卡模型-->特征工程(特征分箱,WOE编码)
- Trip report: Summer ISO C++ standards meeting (Toronto)
- css基础样式
- 实验 9-1 1. 实现以下功能 a) 调用 pipe()创建无名管道 b) 调用 fork 创建一个子进程 c) 在子进程中向管道内写入 128k 数据,打印出进程号及成功写入的字节数 d) 在父
- 死锁的四个必要条件