Linux - curl 基本使用
1. 概述
我接触过的很多服务端调试, 接口测试, 最终都落到了这个地方
简答介绍 curl 的使用
- 尽量循序渐进, 因为我也不太熟悉
大概会提到的命令
- curl
- curl -v
- curl -s
- curl -i
- curl -X
- curl -H
- curl -d
2. curl
- CommandLine Uniform Resource Locator
- 官网
https://curl.haxx.se/
- 特性
- 这个就不多说
- 毕竟它在我手上, 也只是一个简单的 命令行 工具
3. 命令
帮助
# 这个命令如果能运行, 说明 机器上确实有 curl
# 具体内容不少, 建议在对 curl 有一定认知之后, 再去尝试阅读
> curl --help
简单模式 与 繁琐模式
简单模式
命令
# curl 访问 url 的时候, 建议带上协议
# 如果不带的话, 默认是 http
> curl 'http://www.baidu.com'
结果
返回
# 勉强对齐了一下
# 结果类似一个表格, 前两行是表头, 最后一行, 是结果
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2381 100 2381 0 0 50659 0 --:--:-- --:--:-- --:--:-- 50659
# 后面是 baidu 的html, 就不列举了
不好意思, 这个统计信息, 留个坑吧
如果不想要这个统计信息, 可以使用 以下命令
> curl -s 'http://www.baidu.com'
繁琐模式
命令
> curl -v 'http://www.baidu.com'
结果
返回
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 61.135.169.121...
* TCP_NODELAY set
* Connected to www.baidu.com (61.135.169.121) port 80 (#0) # 这一部分, 是 请求
> GET / HTTP/1.1
> Host: www.baidu.com
> User-Agent: curl/7.63.0
> Accept: */*
> # 这一部分, 是响应
< HTTP/1.1 200 OK
< Accept-Ranges: bytes
< Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
< Connection: Keep-Alive
< Content-Length: 2381
< Content-Type: text/html
< Date: Fri, 16 Aug 2019 12:48:41 GMT
< Etag: "588604c4-94d"
< Last-Modified: Mon, 23 Jan 2017 13:27:32 GMT
< Pragma: no-cache
< Server: bfe/1.0.8.18
< Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
<
{ [2381 bytes data]
100 2381 100 2381 0 0 74406 0 --:--:-- --:--:-- --:--:-- 74406 # 这一行, 是请求页面的内容, 略 # 这一行是啥, 我也不太清楚了
* Connection #0 to host www.baidu.com left intact如果你只关心 返回
则可以使用以下命令
> curl -i 'http://www.baidu.com'
请求方式
命令
> curl -vs -X GET 'http://www.baidu.com'
结果
- 和 繁琐模式 基本一致
- 默认的请求方法, 是 GET
- GET 可以换成其他的方法
请求头
命令
> curl -is -X GET -H 'Content-Type: text/html' 'http://www.baidu.com'
请求体
命令
> curl -vs -X GET -H 'Content-Type: text/html' -d '{"key": "value"}' 'http://www.baidu.com'
4. 最后
感觉讲得不太好
其实这些命令, 可以一笔带过
- 基本就是请求, 看request, 看response, 定请求方式, 设置 request header, 设置 request body
相关的东西, 想讲讲又不知道怎么开始
- http 相关
- curl 结果
- 那个统计
- 比如 verbose 模式下的连接过程
这玩意其实可以用的地方有很多
- 有机会, 会尝试做些其他的讲解.
ref
- curl使用指南
- 官网上有本书, 叫做 everything-curl, 写的很详细, 但都是英文.
Linux - curl 基本使用的更多相关文章
- linux curl 命令详解,以及实例
linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 一,curl命令参数,有好多我没有用过,也不知道翻 ...
- Linux curl使用简单介绍
在两台新搬迁的微信服务器上执行命令: curl -H "Content-Type: application/json" -d '{"partner_no":&q ...
- linux curl用法详解
linux curl用法详解 curl的应用方式,一是可以直接通过命令行工具,另一种是利用libcurl库做上层的开发.本篇主要总结一下命令行工具的http相关的应用, 尤其是http下载方面 ...
- Linux curl命令参数详解
笔者出处:http://www.aiezu.com/system/linux/linux_curl_syntax.html linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支 ...
- Linux curl命令参数详解--转载
linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态. 一.Linux ...
- LINUX curl GET 掉参数解决办法
LINUX curl GET 掉参数解决方法 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3web形式下访问url地址,使用 $_GE ...
- Linux Curl常用命令使用【转】
Curl是Linux下一个很强大的http命令行工具,其功能十分强大. 1)读取网页 $ curl linuxidc.com">http://www.linuxidc.com 2)保存 ...
- Linux curl命令使用代理、以及代理种类介绍(转)
Linux curl命令使用代理.以及代理种类介绍 本文转自http://aiezu.com/article/linux_curl_proxy_http_socks.html,感谢作者 有时出于个 ...
- Linux curl 网络访问
Linux curl 网络访问 参数详解 -a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -anyauth ...
- Linux Curl命令
一.简介 linux curl是一个利用URL规则在命令行下工作的文件传输工具.它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称url为下载工具. 二.安装 wget http://c ...
随机推荐
- TODO:rest和restful接口是什么?
todo: 参考: http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html https://www.jianshu ...
- [Note]prufer
[Note]Prufer编码 实现 不断删除度数为\(1\)的最小序号的点,并输出与其相连的节点的序号,直至树中只有两个节点. 性质 任何一棵\(n\)节点的树都可以唯一的用长度为\(n-2\)的pr ...
- 【vue】 vue跳转页面:router-link/this.$router.push()
1.通过标签<router-link> <router-link to='A'>跳转到A页面</router-link> 2.通过方法 this.$router.p ...
- 智能手机中下一次被消灭的部件是电话卡和TF卡
智能手机中下一次被消灭的部件是电话卡和TF卡. 侧滑实体键盘,实体拍照键,HDMI外接接口,实体切换双卡键,可拆卸后盖……这些都消亡了,被其更好的内在设计所取代.而电话卡和TF卡仍在使用.将来的智能手 ...
- Python自定义任务发邮件提醒
前言 在工作中,有时会有一些定期需要执行的任务或在将来某一天需要执行的任务,为避免疏漏,设计个小工具,发邮件提醒自己去处理. 方案简介 1.建立一个Excel文件,里面定义好待提醒的任务 2.建立一个 ...
- 虚拟机win7 安装过程中遇到虚拟工具安装失败
如果遇见这样的问题 倘若你用的是这样的镜像:cn_windows_7_enterprise_x64_dvd_x15-70741.iso 换镜像源.换镜像源.换镜像源! 换成带sp1的iso镜像:cn_ ...
- optim.SDG 或者其他、实现随机梯度下降法
optim.SDG 或者其他.实现随机梯度下降法 待办 实现随机梯度下降算法的参数优化方式 另外还有class torch.optim.ASGD(params, lr=0.01, lambd=0.00 ...
- go语言 内置的椭圆数字签名及其验证算法
package main import ( "crypto/ecdsa" "crypto/elliptic" "crypto/rand" & ...
- 《TCP/IP入门经典》摘录--Part 3
TCP/IP协议系统 3.子网划分和CIDR 子网 划分网络 为什么需要划分子网? 子网划分就是在网络 ID 之下提供了第 2 层逻辑组织.路由器能够把数据报发送给网络里的某个子网地址(一般对应于一个 ...
- 切换目录命令 - cd
1) 命令名称:cd 2) 英文原意:change directory 3) 命令所在路径:shell 内置命令 4) 执行权限:所有用户 5) 功能描述:切换目录 6) 语法: cd[目录名] 例子 ...