curl—一款实用的URL命令行网络通讯工具/库。curl—一款实用的URL命令行网络通讯工具/库。

最近一段时间在看朴灵翻译的《深入浅出nodejs》,里面来涉及一种植退出浏览器的客户端网络通讯工具,curl命令,自己于电脑上试了一晃,感觉异常好用,而且莫名的感到顿时是一个充分强劲的网络工具,一定会化web开发者的同等拿有些军刀;因此即便上网查看了瞬间连锁材料,并整治了瞬间系的常用用法:
图片 1

近期一段时间在圈朴灵翻译的《深入浅出nodejs》,里面来涉及一栽退出浏览器的客户端网络通讯工具,curl命令,自己在电脑上试了一下,感觉蛮好用,而且莫名的感觉顿时是一个非常强劲的网络工具,一定会化web开发者的相同拿有些军刀;因此即使上网查阅了瞬间连锁材料,并整治了瞬间系的常用用法:
图片 2

一、简介

  • 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协议的8中http请求方式(get、post、put、delete、head、connnect、options、trace),从客户端独家来进展各有操作的求证:

一、简介

  • 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协议的8中http请求方式(get、post、put、delete、head、connnect、options、trace),从客户端独家来拓展各部分操作的征:

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

  1. 假如查看百度首页源码:
    curl www.baidu.com
    欠令将发送请求,并当命令行显示相应的结果,如下,:
    图片 3
  2. 万一翻开还非克满足你的急需,需要更加用百度首页源码保存于本地开展上查看:curl -o name www.baidu.com
    用生充斥目标网页源码到地方,并取名也‘name’:
    图片 4

  3. GET 的别样用法

  4. curl -i www.baidu.com
    ——获取请求结果,将响应头、响应体同时在指令执行输出

  5. curl -I www.baidu.com
    ——获取请求结果,仅仅用响应头信息在指令执行输出
  6. curl -L baidu.com ——如目标网页转移位置,将活动进行重定向
  7. curl -v www.baidu.com
    ——以指令执行输出一不成http请求的净经过,包括端口连接、请求头、请求体、响应头、响应体
  8. curl --trace out.txt www.baidu.com
    ——将周请求的端口连接、请求信息、响应过程的普信保存及本土,并重命名为‘out.txt’
  9. curl www.baidu.com/s?wd=hbzyin ——用百度搜索关键字‘hbzyin’:
    将在百度首页查询关键字‘hbzyin’,并将结果当指令执行输出

  10. GET 添加额外请求信息

  11. curl --header "Content-Type=text.plain" yourwebsite.com
    —-增加请求头/request header

  12. curl --cookie "cookiename=xxx" yourwebsite.com
    —–增加cookie信息到请求
  13. curl -c cookies-file yourwebsite.com
    —–将请响应的cookie信息保存到文件cookie-file中
  14. curl -b cookies-file yourwebsite.com
    —–将请响应的cookie信息保存到文件cookie-file中,并于继续要被利用
  15. curl --referer yourwebsite.com www.baidu.com
    ——添加入人数过反来源yourwebsite.con ,跳反到目标网站百度
  16. curl --user-agent "your user angent" baidu.com
    ——添加客户端设备信息;服务器会因该字段,针对不同装备返回不同网页格式。如手机及PC

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

  1. 苟查看百度首页源码:
    curl www.baidu.com
    拖欠令将发送请求,并在命令行显示相应的结果,如下,:
    图片 5
  2. 只要翻开还免可知满足你的求,需要更将百度首页源码保存在本地开展攻查看:curl -o name www.baidu.com
    以下充斥目标网页源码到当地,并取名也‘name’:
    图片 6

  3. GET 的旁用法

  4. curl -i www.baidu.com
    ——获取请求结果,将响应头、响应体同时于指令执行输出

  5. curl -I www.baidu.com
    ——获取请求结果,仅仅用响应头信息于指令执行输出
  6. curl -L baidu.com ——如目标网页转移位置,将机关进行重定向
  7. curl -v www.baidu.com
    ——在指令执行输出一破http请求的全经过,包括端口连接、请求头、请求体、响应头、响应体
  8. curl --trace out.txt www.baidu.com
    ——将全部请求的端口连接、请求信息、响应过程的上上下下信保存到本土,并重命名为‘out.txt’
  9. curl www.baidu.com/s?wd=hbzyin ——用百度搜索关键字‘hbzyin’:
    将于百度首页查询关键字‘hbzyin’,并以结果以指令执行输出

  10. GET 添加额外请求信息

  11. curl --header "Content-Type=text.plain" yourwebsite.com
    —-增加请求头/request header

  12. curl --cookie "cookiename=xxx" yourwebsite.com
    —–增加cookie信息及请求
  13. curl -c cookies-file yourwebsite.com
    —–将请求响应的cookie信息保存至文件cookie-file中
  14. curl -b cookies-file yourwebsite.com
    —–将请求响应的cookie信息保存及文件cookie-file中,并当延续要被以
  15. curl --referer yourwebsite.com www.baidu.com
    ——添加入人数越反来源yourwebsite.con ,跳反至目标网站百度
  16. 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参数后,可支撑其他请求方式;请求方式必须大写

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

3. 改动数据:PUT

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

4. 去除数据:DELETE

curl -X DELETE yourwebsite.com/deleteSource
–向目标网站发送删除请求,请求地址: yourwebsite.com/deleteSource

4. 刨除数据:DELETE

curl -X DELETE yourwebsite.com/deleteSource
–向目标网站发送删除请求,请求地址: yourwebsite.com/deleteSource

5. 文件上传:

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

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

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. CURL常用命令;
  3. CURL网站开发指南;
  4. CURL英文官网;
  5. CURL github项目。

    如上重大从前端开发角度,对curl的形似用法进行了整理,对于网站开还是后端API开发,这还算一个简介快速方便之工具;如果能进一步将品种开支的待编制成测试脚本,将为付出带动极大的快感!

–END

7. 参阅文章

  1. 15 Practical Linux cURL Command
    Examples;
  2. CURL常用命令;
  3. CURL网站开发指南;
  4. CURL英文官网;
  5. CURL github项目。

    如上重点从前端开发角度,对curl的形似用法进行了整,对于网站开要后端API开发,这还算作一个简介快速方便之家伙;如果会更用品种开之消编制成测试脚本,将为开带来极大的快感!

–END

相关文章

Leave a Comment.