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

相关文章