首页 > 其他分享 >curl命令技巧备忘

curl命令技巧备忘

时间:2023-05-23 18:06:25浏览次数:60  
标签:baidu www http 技巧 -- 备忘 curl com


curl简介

curl [options / URLs]

curl是一种利用URL语法用于服务器传输数据的工具,支持如下协议:

  • DICT
  • FILE
  • FTP \ FTPS
  • GOPHER
  • HTTP \ HTTPS
  • IMAP \ IMAPS
  • LDAP \ LDAPS
  • POP3 \ POP3S
  • RTMP \ RTSP
  • SCP
  • SFTP
  • SMB \ SMBS
  • SMTP \ SMTPS
  • TELNET
  • TFTP

还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。

1 用法1:curl查看或下载网页源码

#### 1 查看网页
curl http://www.baidu.com
#### 2 下载页面到文件
curl http://www.baidu.com -o baidu
#### 3 下载页面到文件 --silent 不显示进度
curl http://www.baidu.com -o baidu --silent
#### 4 下载页面到文件 --progress 显示进度条
curl http://www.baidu.com -o baidu --progress

2 用法2:curl设置参照页字符串

参照页是位于HTTP头部中的一个字符串,用来表示用户是从哪个页面到达当前页面的,如果用户点击网页A中的某个连接,那么用户就会跳转到B网页,网页B头部的参照页字符串就包含网页A的URL。

使用--referer选项指定参照页字符串:

curl --referer http://www.google.com http://man.linuxde.net

3 用法3:curl设置cookies

--cokkie "COKKIES" 选项来指定cookie,多个cookie使用分号分隔;

curl http://man.linuxde.net --cookie "user=root;pass=123456"
curl --cookie "name=zhangsan" http://localhost:8080/login

--cookie-jar或者-c将cookie 另存为一个文件

curl www.baidu.com --cookie-jar baidu_cookie

4 用法4:curl设置带宽

--limit-rate限制下载速度(单位 k千字节 m兆字节)

curl URL --limit-rate 50k

--max-filesize指定可下载的最大文件大小

curl URL --max-filesize bytes

5 用法5: curl认证

使用curl选项 -u 可以完成HTTP或者FTP的认证,可以指定密码,也可以不指定密码在后续操作中输入密码:

$ curl -u name:password [URL]

curl -u user:pwd http://man.linuxde.net
curl -u user http://man.linuxde.net

6 用法6:打印头部信息

-I或者--head选项只打印头部http信息(不显示内容)-i显示内容

fwd@fwd:~/00-RUN/02-test$ curl -I www.baidu.com
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: Keep-Alive
Content-Length: 277
Content-Type: text/html
Date: Sun, 11 Aug 2019 05:27:28 GMT
Etag: "575e1f7c-115"
Last-Modified: Mon, 13 Jun 2016 02:50:36 GMT
Pragma: no-cache
Server: bfe/1.0.8.18

7 用法7 :curl完成http动作

-X 或者 --reques: 发送http请求,默认情况为GET

$ curl -X POST [URL]    //eg: curl -X POST blog.xiaobnema.cn
$ curl -X DELETE [URL]  //eg: curl -X DELETE blog.xiaobenma.cn

8 用法8:curl发送json

curl -H 'Content-Type:application/json' -d '[JSON string]' [URL]
 curl -H "Content-Type: application/json" -X POST -d '{"name": "yuzhan", "age" : 18}' http://172.24.145.95:8080

9 用法9:curl监控网页响应时间

#### 1 监控网页响应时间
curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http://www.baidu.com"
#### 2-监控站点可用性
curl -o /dev/null -s -w %{http_code} "http://www.baidu.com"

10 用法10:ftp下载、上传

#### 1-下载
curl -u name:passwd ftp://ip:port/path/file
curl ftp://name:passwd@ip:port/path/file 
#### 2-ftp上传
 curl -T localfile -u name:passwd ftp://upload_site:port/path/ 
 #### 3-http上传
  curl -T localfile http://cgi2.tky.3web.ne.jp/~zzh/abc.cgi


标签:baidu,www,http,技巧,--,备忘,curl,com
From: https://blog.51cto.com/u_13674158/6333865

相关文章

  • find命令技巧备忘
    1find基本用法find[path…][expression]递归地在层次目录中处理文件2基本技巧1-搜索指定文件名-name搜索文件名中可以包含正则表达式!-iname测试项。'i’可以加在许多选项前面,比如-ipath,-iregex,-iwholename等等,都是表示大小写不敏感。####1-在当前目录修改全名为test接口fin......
  • xargs命令备忘
    文章目录1xargs简介2基本应用3进阶:参数替换4进阶:使用-0分割5实用妙招5.1下载文件内的所有url内容5.2将入参分割成指定组数5.3使用指定分割功能将一个字符串分割多个参数6备忘1xargs简介xargs可以将标准输入作为输入内容转换成后续命令行的参数;通常用于标准输入或者处......
  • 升级到PyTorch 2.0的技巧总结
    PyTorch2.0发布也有一段时间了,大家是不是已经开始用了呢?PyTorch2.0通过引入torch.compile,可以显着提高训练和推理速度。与eagerly模式相反,编译API将模型转换为中间计算图(FXgraph),然后以某种方式将其编译为低级计算内核,这样可以提高运行速度。对于PyTorch2.0而言,你......
  • Xcode 使用技巧 —— 快捷键
    Command+Click跳源码,Option+Click显示帮助Command+Enter显示代码提示注:需要移除所有冲突的旧快捷键showeditoronlyshift+BackSpace删除当前行shift+Enter换行编辑这个文件,添加下面几行,用于添加快捷指令sudovim/Applications/Xcode.app/Con......
  • 记录--九个超级好用的 Javascript 技巧
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言在实际的开发工作过程中,积累了一些常见又超级好用的Javascript技巧和代码片段,包括整理的其他大神的JS使用技巧,今天筛选了9个,以供大家参考。1、动态加载JS文件在一些特殊的场景下,特别是一些库和框架......
  • CURL命令
    1.概述工作中排查线上问题时,会经常调用问题接口,使用postman太笨重了,且客户不一定能安装这类软件,因此此处记录下使用curl命令调用接口,curl命令调用接口不复杂,记录于此是为了自己找的方便2.请求postbodycurl-XPOSThttp://ip:port/hello/hello.action-H'Content-Type:app......
  • API技巧集(一)
    一、拖动无标题窗体:包含头文件:#include$#@60;winuser.h$#@62;在窗体或组件的OnMouseDown事件中加入以下代码:if(Button==mbLeft){ReleaseCapture();SendMessage(Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);}二、弹出和关闭光驱:包含头文件:#include$#@60;mmsystem.......
  • PotPlayer使用技巧
    PotPlayer是一款强大的本地视频播放器,可以实现逐帧播放,显示/隐藏字幕,快捷键截图,视频旋转,音频/视频滤镜,硬件解码,多窗口同时播放,等功能。1.基本设置(1)取消以关键帧为移动单位取消右键-->播放-->定位-->以关键帧定位有些版本设置路径变为:右键-->播放-->时间跨度--......
  • API技巧集(二)
    (一)不规则窗口Windows提供的只是标准的矩形窗口,要想建立一个不规则的窗口就需要调用API函数来实现。建立一个不规则的窗口,一般是先用创建区域的API函数建立一个不规则的区域,再用API函数SetWindowRgn改变窗口的区域。这些API函数在C++Builder中包含在头文件wingdi.h和winuser.......
  • < Python全景系列-3 > Python控制流程盘点及高级用法、神秘技巧大揭秘!
    欢迎来到我们的系列博客《Python全景系列》!在这个系列中,我们将带领你从Python的基础知识开始,一步步深入到高级话题,帮助你掌握这门强大而灵活的编程语法。无论你是编程新手,还是有一定基础的开发者,这个系列都将提供你需要的知识和技能。这是系列第三篇,在这篇文章中我们将全面深入地......