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&param2=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

总结curl和wget的区别:

1.curl是libcurl这个库支持的,wget是一个纯粹的命令行命令。
    2.curl支持更多的协议。curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP and RTSP at the time of this writing. Wget supports HTTP, HTTPS and FTP.
     3.curl 默认支持HTTP1.1(也支持1.0),而wget仅仅支持HTTP1.0规范。HTTP1.0和HTTP1.1的区别,HTTP1.1中增加的持续性连接(Persist Connection)与块编码(Chunked Encoding)技术.
     4.curl在指定要下载的链接时能够支持URL的序列或集合,而wget则不能这样;
     5.wget支持递归下载,而curl则没有这个功能。

尺有所长,寸有缩短.一句话,看怎么用罢了.

个人心得:

参阅:

1.http://man.linuxde.net/wget

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区别相关推荐

  1. curl 的用法指南

    curl 的用法指南 转自:http://www.ruanyifeng.com/blog/2019/09/curl-reference.html 作者: 阮一峰 日期: 2019年9月 5日 简介 c ...

  2. Linux系统中curl命令用法详解

    在Linux系统中curl是一个利用URL规则在命令行下工作的文件传输工具,是一款强大的http命令行工具.它支持文件的上传和下载,是综合传输工具. curl 是常用的命令行工具,用来请求 Web 服 ...

  3. Linux之curl命令用法指南学习

    Linux之curl命令用法指南学习 前言 常用参数 命令样例 其他 参考链接 前言 应用场景 工作中经常需要用到curl命令在测试或生产服务器中测试第三方接口,尤其是一些内外网接口.判断线上接口信息 ...

  4. curl常见用法以及查看响应时间

    curl是一个很强大的工具,支持模拟http请求,语法如下: curl [options] [URL...] 1. 最简单的用法 ➜ ~ curl http://www.baidu.com 2. 最常 ...

  5. 国密curl的用法指南

    1.curl是什么 cURL(客户端URL)是一个开放源代码的命令行工具,用来请求 Web和其他各种类型的服务器.curl有着大量的参数,常用来测试/调试服务器的开发和排查等,堪称一个网络" ...

  6. curl服务器文件,curl 向远程服务器传输file文件

    public function upload(){ //获取上传文件信息,文件名称以自己实际上传文件名称为准 $fileinfo = $_FILE['filename']; //请求参数,依据商户自己 ...

  7. PHP中使用CURL之php curl详细解析和常见大坑

    这篇文章主要介绍了PHP中使用CURL之php curl详细解析和常见大坑 ,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 七夕啦,作为开发,妹子没得撩就"撩"下服务器 ...

  8. php curl for win7_解决windows7X64环境下开启PHP_Curl wamp curl PHP开启CURL无反应

    windows7系统64bit环境下wamp开启curl php开启curl无反应,或者php程序显示Call to undefined function curl_init()错误,在百度和谷歌里搜 ...

  9. php curl ssr,php curl模拟登陆

    $url="url地址"; $post_file="username=xxx&password=xxx"; $cookie_jar = dirname( ...

最新文章

  1. C++ STL: 容器vector源码分析
  2. python【蓝桥杯vip练习题库】BASIC-27 2n皇后问题(八皇后问题 搜索)
  3. php二叉树 排列,PHP 如何实现用户二叉树排序需求
  4. winxp登陆后自动注销
  5. mysql profile 不记录_mysql profile使用(转)
  6. explain查看mysql语句的执行效率
  7. Ubuntu中配置FTP服务
  8. 第二周进度及工作量统计
  9. 初识Activiti
  10. 函数重载二义性:error C2668: 'pow' : ambiguous call to overloaded function
  11. Jn建站系统2.0源码 附视频安装教程
  12. Python抓取豆瓣电影详情并提取信息
  13. android parcel空指针,android - intent.hasExtra(“ meta”)抛出错误的可包裹异常 - 堆栈内存溢出...
  14. 遍历对象键值对的两种方法
  15. python写网页flash游戏辅助_会玩 | 使用 Python + Selenium制作Flash游戏辅助
  16. windows7 android 驱动,Windows7安卓刷机驱动安装教程图文详解
  17. 煮酒论AI,看看大牛怎么说
  18. HTML基本知识学习 2021-04-08
  19. Zabbix服务器内网监控外网Agent主机问题
  20. 图解数组计算模块NumPy下(三角函数、四舍五入函数(around)、取整、将弧度转化为角度、统计分析函数、中位数、数组的排序、argsort()、lexsort())

热门文章

  1. 几率大的网络安全面试题(含答案)
  2. 第一次作业 对软件工程的疑问
  3. 【技巧插件】PDF文件转换为CAD文件
  4. Noise2Void 的一些学习总结
  5. 又拍网架构 -- 前端PHP后台Python +消息中间件 RabbitMQ + 分库步骤
  6. 定义一个结构体类型Point,包含数据成员x和y,它们是平面坐标系下的坐标点(x,y),求两点间的距离
  7. 搭载高德地图车机版的天之眼智能后视镜开售 高德用户可享免单
  8. android 好的 钢琴软件,真正完美的android钢琴软件
  9. CocosCreator摄像机使用相关经验整理
  10. 永大服务器显示M,永大电梯故障TCD说明.doc