解密历史-野史秘闻

 解密历史-野史秘闻     |      2019-11-28

多年来大器晚成段时间在看朴灵翻译的《深入浅出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悍马H2L常用命令;
  3. CUWranglerL网址开拓指南;
  4. CURLRepublika Hrvatska语官方网站;
  5. CURL github项目。

    上述入眼以前端开采角度,对curl的相近用法进行了收拾,对于网址开垦或后端API开辟,那都不失为二个简要介绍飞快方便的工具;要是能越发将品种开销的须要编写成测验脚本,将为支付拉动宏大的快感!

--END