linux curl 用法详解

2020年06月25日 · Linux · 技术帮助分享 · 900次阅读

------正---文------

curl 是常用的命令行工具,用于命令行发请求,curl 意为client url工具,类似curl的图形化界面工具有postman.

  • 最简单的用法,不带任何参数:get请求

curl http://www.baidu.com

                     

  • 指定客户端用户代理头,user-agent。curl的默认用户代理字符串是:curl/7.29.0,原始请求头可以通过 curl -v http://www.baidu.com查看,如果要指定客户端用户代理,可以用-A参

查看请求请求详情(Make the operation more talkative)

curl -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36" -v http://www.baidu.com

                              

  • -H参数,直接指定请求头,( I参数是只看http返回头,不看返回体)

curl -H "User-Agent:Opera/9.80" -Iv http://www.baidu.com

                        

  • -b参数用来向服务器发送Cookie

curl -b "name=clarkhu" -vI http://www.baidu.com

请求发送cookie

  • 如果发送两个cookie

curl -b "foo1=bar;foo2=bar2" http://www.baidu.com

             

  • -c参数将服务器设置的cookie写入一个文件,下列命令将服务器http回应所设置的cookie写入文本文件cookie.txt

curl -c cookie.txt http://www.baidu.com


  • -d参数用于发送POST请求的数据体

curl -d'login=clark&password=123'-X POST https://baidu.com/login


  • -e 设置http referer

curl -e 'https://google.com?q=example' https://www.example.com

                      

  • -G参数用来构造url查询字符串

curl -G -d 'q=a' -d 'count=30' http://www.baidu.com/search

上面命令会发出一个get请求,实际url为http://www.baidu.com/search?q=a&count=30。如果省略G, 会发出一个POST请求

  • I参数向服务器发出HEAD请求,会将服务器返回的HTTP头打印出来,I参数等同于–head

  • L参数会让HTTP请求跟随服务器的重定向。curl默认不跟随重定向。

  • –limit-rate 用来限制HTTP请求和回应的带宽,模拟慢网速的环境,下面命令将带宽限制在每秒200k字节

curl --limit-rate 200k http://www.baidu.com
  • -O 参数将服务器回应保存成文件,并将url的最后部分当作文件名。

curl -O http://www.baidu.com
  • -u参数,用来设置服务器认证的用户名和密码

curl -u 'bob:12345' http://www.baidu.com/login
  • -v参数转出通信的整个过程,用于调试

curl -v http://www.baidu.com
  • –trace 也用于调试,并且会输出原始的二进制数据


curl --trace - http://www.baidu.com
  • 如何构建一个curl请求呢,可以利用chrome


转自:

https://www.clarkhu.net/?p=4242


------结---束------

『静谧星河』采用《署名-相同方式共享 4.0 国际》进行许可。如需转载请保留本文地址。
本文地址:
https://www.yuvin.cn/Linux/483.html

支持我

教程帮助解决方法LinuxCentos

静谧星河最后编辑于4年前


因本站不提供交互式服务,评论均需审核后显示,敬请谅解。

添加新评论

captcha

请输入验证码