curl基本用法,curl和wget区别
2019独角兽企业重金招聘Python工程师标准>>>
Curl是一个很强大的http命令行工具,功能十分强大,非常有用.
一、CURL对HTTP接口的访问
1. 访问网页
$ curl http://www.baidu.com
回车之后,www.baidu.com 的html 显示在屏幕上了
2. 保存页面
用curl option: -o
$ curl -o page.html http://www.linuxidc.com
可以看到屏幕上出现一个下载页面进度指示,等到100%,就保存完成了.页面名字就是page
二、GET请求
GET模式什么option都不用,只需要把变量写在url里面就可以了,
curl "http://www.baidu.com" 如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地
curl -i "http://www.baidu.com" 显示全部信息
curl -l "http://www.baidu.com" 只显示头部信息
curl -v "http://www.baidu.com" 显示get请求全过程解析
三、POST请求
1. 使用 option -d,
例如:
$ curl -d "param1=value1¶m2=value2" "http://www.baidu.com"
2.json格式的post请求
$ curl -l -H "Content-type: application/json" -X POST -d '{"phone":"13521389587","password":"test"}' http://test/apis/users.json.
有人会问curl和wget都可以下载,那到底有什么区别呢?下面是简单的一点介绍:
CURL
基于libcurl库,libcurl是一个稳定的跨平台的类库,任何人可以免费使用其API进行开发。CURL继承了libcurl库的优良设计,这是它能成为优秀的命令行工具的重要原因。
- 管道(Pipes). CURL不仅仅遵循 传统UNIXstyle, 它在对输入和输出做更多的处理,贯彻了 "everything is a pipe" 的设计思想。
- 返回值(Return codes). curl为一系列应用返回多种结果(错误),适用于很多情况。
- 单点传送 curl仅仅单点传送数据。它只会传送用户指定的URLS,并不包含任何递归下载的逻辑,也不对html进行任何解析。
- 多协议支持. curl 支持的协议有: FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP 和 RTSP 在写这篇文章时,Wget仅仅支持 HTTP, HTTPS 和 FTP.
- 适应更多的平台: curl比wget运行在更多的平台上面,虽然curl设计当初并没有打算这样。比如: OS/400, TPF 和其他很多非UNIX的平台。
- 更强大的SSL库. curl能应用于多个不同的 SSL/TLS 库, 并提供了更多的可控性和对协议的广泛支持。
- curl支持更多的 HTTP 认证方式
- 双向通信. curl 提供了上传能力,Wget仅仅支持HTTP post 方式
- HTTP multipart/form-data 的发送能力, 这使得用户可以进行HTTP上传,模拟浏览器的行为和HTTP认证等,提供了更多操作的可能。
- 压缩. curl 支持GZIP和 inflate Content-Encoding 并且自动进行解压缩操作。
Wget
- Wget 仅仅支持命令行方式运行. 没有类库,不提供API等。
- 递归! Wget 与CURL的最大区别也是Wget的最大的优势是可以进行递归的下载,可以一次下载一个HTML页面 或者ftp列表中的所有内容。
- 参与开发的人员相对较. 我打赌,任何参与这两个项目的人都能感觉到这一点。
- HTTP 1.0. Wget 仍然仅仅使用 HTTP 1.0,但是它一直工作很好,并且对于最终用户没有任何影响。curl在2001年三月的时候就开始支持 HTTP 1.1 了(仍然保留对 1.0 请求的支持).
- GPL. Wget 100% 遵循 GPL v3 协议,. curl 则是 MIT licensed.
- GNU. Wget 是 GNU 项目的一部分 并且所有的版权归于 FSF. curl项目则是独立的,独立于任何组织,所有的版权属于Daniel。(哇!)
- Wget 不需要任何额外参数 就能从URL下载文件到本地, 而curl需要至少 -o 或者 -O这两个参数.
- url可以下载,功能比较多,但是长项不在于下载,而在于模拟提交web数据,POST/GET请求,调试网页,等等。
- wget是个职业的下载利器.4个字概括:专注,极致 .
- 单独在下载上,也各有所长,wget可以递归,支持断点;而curl支持URL中加入变量,因此可以批量下载。
- 用wget来下载文件,加 -c选项不怕断网;用curl 来跟网站的API 交互,简便清晰。
2.http://cuijianlingbest.blog.163.com/blog/static/12275283320125135362129/
3.http://www.cnblogs.com/wangkangluo1/archive/2012/04/17/2453946.html
转载于:https://my.oschina.net/mindfind/blog/871122
curl基本用法,curl和wget区别相关推荐
- curl 的用法指南
curl 的用法指南 转自:http://www.ruanyifeng.com/blog/2019/09/curl-reference.html 作者: 阮一峰 日期: 2019年9月 5日 简介 c ...
- Linux系统中curl命令用法详解
在Linux系统中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款强大的http命令行工具.它支持文件的上传和下载,是综合传输工具. curl 是常用的命令行工具,用来请求 Web 服 ...
- Linux之curl命令用法指南学习
Linux之curl命令用法指南学习 前言 常用参数 命令样例 其他 参考链接 前言 应用场景 工作中经常需要用到curl命令在测试或生产服务器中测试第三方接口,尤其是一些内外网接口.判断线上接口信息 ...
- curl常见用法以及查看响应时间
curl是一个很强大的工具,支持模拟http请求,语法如下: curl [options] [URL...] 1. 最简单的用法 ➜ ~ curl http://www.baidu.com 2. 最常 ...
- 国密curl的用法指南
1.curl是什么 cURL(客户端URL)是一个开放源代码的命令行工具,用来请求 Web和其他各种类型的服务器.curl有着大量的参数,常用来测试/调试服务器的开发和排查等,堪称一个网络" ...
- curl服务器文件,curl 向远程服务器传输file文件
public function upload(){ //获取上传文件信息,文件名称以自己实际上传文件名称为准 $fileinfo = $_FILE['filename']; //请求参数,依据商户自己 ...
- PHP中使用CURL之php curl详细解析和常见大坑
这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就"撩"下服务器 ...
- php curl for win7_解决windows7X64环境下开启PHP_Curl wamp curl PHP开启CURL无反应
windows7系统64bit环境下wamp开启curl php开启curl无反应,或者php程序显示Call to undefined function curl_init()错误,在百度和谷歌里搜 ...
- php curl ssr,php curl模拟登陆
$url="url地址"; $post_file="username=xxx&password=xxx"; $cookie_jar = dirname( ...
最新文章
- C++ STL: 容器vector源码分析
- python【蓝桥杯vip练习题库】BASIC-27 2n皇后问题(八皇后问题 搜索)
- php二叉树 排列,PHP 如何实现用户二叉树排序需求
- winxp登陆后自动注销
- mysql profile 不记录_mysql profile使用(转)
- explain查看mysql语句的执行效率
- Ubuntu中配置FTP服务
- 第二周进度及工作量统计
- 初识Activiti
- 函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function
- Jn建站系统2.0源码 附视频安装教程
- Python抓取豆瓣电影详情并提取信息
- android parcel空指针,android - intent.hasExtra(“ meta”)抛出错误的可包裹异常 - 堆栈内存溢出...
- 遍历对象键值对的两种方法
- python写网页flash游戏辅助_会玩 | 使用 Python + Selenium制作Flash游戏辅助
- windows7 android 驱动,Windows7安卓刷机驱动安装教程图文详解
- 煮酒论AI,看看大牛怎么说
- HTML基本知识学习 2021-04-08
- Zabbix服务器内网监控外网Agent主机问题
- 图解数组计算模块NumPy下(三角函数、四舍五入函数(around)、取整、将弧度转化为角度、统计分析函数、中位数、数组的排序、argsort()、lexsort())
热门文章
- 几率大的网络安全面试题(含答案)
- 第一次作业 对软件工程的疑问
- 【技巧插件】PDF文件转换为CAD文件
- Noise2Void 的一些学习总结
- 又拍网架构 -- 前端PHP后台Python +消息中间件 RabbitMQ + 分库步骤
- 定义一个结构体类型Point,包含数据成员x和y,它们是平面坐标系下的坐标点(x,y),求两点间的距离
- 搭载高德地图车机版的天之眼智能后视镜开售 高德用户可享免单
- android 好的 钢琴软件,真正完美的android钢琴软件
- CocosCreator摄像机使用相关经验整理
- 永大服务器显示M,永大电梯故障TCD说明.doc