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

相关文章