近年来一段时间在看朴灵翻译的《深入浅出nodejs》,里面有关联一种退出浏览器的顾客端网络通信工具,curl命令,本人在微机上试了一下,以为优异好用,何况莫名的感到到那是一个极其强劲的网络工具,一定会化为web开辟者的一把小军刀;由此就上网查了须臾间连锁资料,并整治了一下辅车相依的常用用法:
澳门新莆京游戏 1

一、简介

  • CURL:本篇文章的标题即为 官网
    上鲜明定义的直译:command line tool and library for transferring data with URLs;
  • 支持的合计项目:帮忙大约一切的网络传输合同项目,你恐怕会狐疑这里的全部,不必要解释,直接贴上原著

    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.

  • 正文不介绍工具的设置,如需安装教程,请自行移动
    官网 或者
    参谋此篇

    二、常用用法

    不论是是网址开采,照旧别的的传导左券项目,回归本质都以对数据的读写操作,即创建、查询、加解密、传输、修改、删除;其差异之处在于各样协商的基础架构及协商项目的比不上,从达成方式上来看,也便是传输调整字段的不等,以及传输分界面、交互的歧异。下边以网址开辟的角度,类比http合同的第88中学http央浼格局(get、post、put、delete、head、connnect、options、trace),从客商端独家来开展各部分操作的表明:

1. 查询:GET–查看网页源码

  1. 如查看百度首页源码:
    curl www.baidu.com
    该命令将发送央求,并在命令行呈现相应的结果,如下,:
    澳门新莆京游戏 2
  2. 要是查看还不可能满意你的须求,须要更进一竿将百度首页源码保存在本地开展学习查看:curl -o name www.baidu.com
    将下载指标网页源码到地方,并取名叫‘name’:
    澳门新莆京游戏 3

  3. GET 的别样用法

  • curl -i www.baidu.com
    ——获取央浼结果,将响应头、响应体同不经常间在命令行输出
  • curl -I www.baidu.com
    ——获取诉求结果,仅仅将响应头新闻在命令行输出
  • curl -L baidu.com ——如目的网页转移地点,将活动实行重定向
  • curl -v www.baidu.com
    ——在命令行输出三遍http须求的全经过,包含端口连接、伏乞头、伏乞体、响应头、响应体
  • curl --trace out.txt www.baidu.com
    ——将一切央浼的端口连接、央浼音信、响应进程的整套音讯保存至本土,相提并论命名字为‘out.txt’
  • curl www.baidu.com/s?wd=hbzyin ——用百度查寻关键字‘hbzyin’:
    就要百度首页查询关键字‘hbzyin’,并将结果在命令行输出
  1. GET 增多额外乞求新闻
  • curl --header "Content-Type=text.plain" yourwebsite.com
    —-扩充央浼头/request header
  • curl --cookie "cookiename=xxx" yourwebsite.com
    —–扩充cookie音信至哀告
  • curl -c cookies-file yourwebsite.com
    —–将乞请响应的cookie新闻保存至文件cookie-file中
  • curl -b cookies-file yourwebsite.com
    —–将呼吁响应的cookie音信保存至文件cookie-file中,并在三番五次央浼中选拔
  • curl --referer yourwebsite.com www.baidu.com
    ——加多入口跳转来源yourwebsite.con ,跳转至指标网址百度
  • curl --user-agent "your user angent" baidu.com
    ——增多顾客端设备音信;服务器会基于该字段,针对不一样器械再次回到不相同网页格式。如手提式有线电话机和PC

2. 上传数据:POST–向服务器上传消息

  1. 表单数据上传:
    curl -X POST --data "key=value" yourwebsite.com
    ——向目的网址发送post 诉求,诉求体为:’key=value’
  2. 表单数据url加密后上传:
    curl -X POST --data-urlencode "key=value" yourwebsite.com
    –向指标网址发送url加密后的post须要,诉求体为:‘key=value’

    此地 -X 为curl央求格局设置首要字,
    curl暗许诉求格局为get,增加-X参数后,可支撑别的央浼格局;央求格局必需大写

3. 退换数据:PUT

curl -X PUT yourwebsite.com --data "data=somedata"
—向指标网站发送央浼,央求体为:data=somedata

4. 刨除数据:DELETE

curl -X DELETE yourwebsite.com/deleteSource
–向指标网址发送删除央求,央浼地址: yourwebsite.com/deleteSource

5. 文件上传:

curl --form formname=@localfilname --form press=OK yourwebsite.com

6.栗子

 curl -X POST --data "grant_type=password&username=admin@web.com&password=20120626" --header "Authorization:Basic ZGFzaGJvYXJkOnNlY3JldA==" https://www.web.com/oauth/token

 curl -X GET  --header "Authorization:Bearer 5640b2e1-e931-416b-8873-caca121a1aa1"   https://www.web.com/accounts/me
 curl -X GET  --header "Authorization:Bearer 5640b2e1-e931-416b-8873-caca121a1aa1"   https://www.web.com/newmonitor/mongodb
 curl -X GET  --header "Authorization:Bearer 5640b2e1-e931-416b-8873-caca121a1aa1"   https://www.web.com/newmonitor/mysql

7. 参谋小说

  1. 15 Practical Linux cURL Command
    Examples
    ;
  2. CU奥迪Q7L常用命令;
  3. CUXC60L网址开拓指南
  4. CURAV4L塞尔维亚共和国语官方网站
  5. CURL github项目

    上述入眼从前端开垦角度,对curl的一般用法举办了整治,对于网址开采或后端API开荒,那都算作二个简要介绍急迅方便的工具;如若能进一步将项目开荒的需求编写成测量检验脚本,将为开销带来相当的大的快感!

–END

相关文章