`
关中大虾
  • 浏览: 13475 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Curl命令

 
阅读更多

Linux终端使用curl来post数据,数据格式为json:

/usr/bin/curl --connect-timeout 15  -H "Content-Type: application/json" -sd '{"data":"data"}' http://aaa.com/aaa
 
-a/--append 上传文件时,附加到目标文件
 -A/--user-agent <string>  设置用户代理发送给服务器
 - anyauth   可以使用“任何”身份验证方法
 -b/--cookie <name=string/file> cookie字符串或文件读取位置
 - basic 使用HTTP基本验证
 -B/--use-ascii 使用ASCII /文本传输
 -c/--cookie-jar <file> 操作结束后把cookie写入到这个文件中
 -C/--continue-at <offset>  断点续转
 -d/--data <data>   HTTP POST方式传送数据
 --data-ascii <data>  以ascii的方式post数据
 --data-binary <data> 以二进制的方式post数据
 --negotiate     使用HTTP身份验证
 --digest        使用数字身份验证
 --disable-eprt  禁止使用EPRT或LPRT
 --disable-epsv  禁止使用EPSV
 -D/--dump-header <file> 把header信息写入到该文件中
 --egd-file <file> 为随机数据(SSL)设置EGD socket路径
 --tcp-nodelay   使用TCP_NODELAY选项
 -e/--referer 来源网址
 -E/--cert <cert[:passwd]> 客户端证书文件和密码 (SSL)
 --cert-type <type> 证书文件类型 (DER/PEM/ENG) (SSL)
 --key <key>     私钥文件名 (SSL)
 --key-type <type> 私钥文件类型 (DER/PEM/ENG) (SSL)
 --pass  <pass>  私钥密码 (SSL)
 --engine <eng>  加密引擎使用 (SSL). "--engine list" for list
 --cacert <file> CA证书 (SSL)
 --capath <directory> CA目录 (made using c_rehash) to verify peer against (SSL)
 --ciphers <list>  SSL密码
 --compressed    要求返回是压缩的形势 (using deflate or gzip)
 --connect-timeout <seconds> 设置最大请求时间
 --create-dirs   建立本地目录的目录层次结构
 --crlf          上传是把LF转变成CRLF
 -f/--fail          连接失败时不显示http错误
 --ftp-create-dirs 如果远程目录不存在,创建远程目录
 --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用
 --ftp-pasv      使用 PASV/EPSV 代替端口
 --ftp-skip-pasv-ip 使用PASV的时候,忽略该IP地址
 --ftp-ssl       尝试用 SSL/TLS 来进行ftp数据传输
 --ftp-ssl-reqd  要求用 SSL/TLS 来进行ftp数据传输
 -F/--form <name=content> 模拟http表单提交数据
 -form-string <name=string> 模拟http表单提交数据
 -g/--globoff 禁用网址序列和范围使用{}和[]
 -G/--get 以get的方式来发送数据
 -h/--help 帮助
 -H/--header <line>自定义头信息传递给服务器
 --ignore-content-length  忽略的HTTP头信息的长度
 -i/--include 输出时包括protocol头信息
 -I/--head  只显示文档信息
 从文件中读取-j/--junk-session-cookies忽略会话Cookie
 - 界面<interface>指定网络接口/地址使用
 - krb4 <级别>启用与指定的安全级别krb4
 -j/--junk-session-cookies 读取文件进忽略session cookie
 --interface <interface> 使用指定网络接口/地址
 --krb4 <level>  使用指定安全级别的krb4
 -k/--insecure 允许不使用证书到SSL站点
 -K/--config  指定的配置文件读取
 -l/--list-only 列出ftp目录下的文件名称
 --limit-rate <rate> 设置传输速度
 --local-port<NUM> 强制使用本地端口号
 -m/--max-time <seconds> 设置最大传输时间
 --max-redirs <num> 设置最大读取的目录数
 --max-filesize <bytes> 设置最大下载的文件总量
 -M/--manual  显示全手动
 -n/--netrc 从netrc文件中读取用户名和密码
 --netrc-optional 使用 .netrc 或者 URL来覆盖-n
 --ntlm          使用 HTTP NTLM 身份验证
 -N/--no-buffer 禁用缓冲输出
 -o/--output 把输出写到该文件中
 -O/--remote-name 把输出写到该文件中,保留远程文件的文件名
 -p/--proxytunnel   使用HTTP代理
 --proxy-anyauth 选择任一代理身份验证方法
 --proxy-basic   在代理上使用基本身份验证
 --proxy-digest  在代理上使用数字身份验证
 --proxy-ntlm    在代理上使用ntlm身份验证
 -P/--ftp-port <address> 使用端口地址,而不是使用PASV
 -Q/--quote <cmd>文件传输前,发送命令到服务器
 -r/--range <range>检索来自HTTP/1.1或FTP服务器字节范围
 --range-file 读取(SSL)的随机文件
 -R/--remote-time   在本地生成文件时,保留远程文件时间
 --retry <num>   传输出现问题时,重试的次数
 --retry-delay <seconds>  传输出现问题时,设置重试间隔时间
 --retry-max-time <seconds> 传输出现问题时,设置最大重试时间
 -s/--silent静音模式。不输出任何东西
 -S/--show-error   显示错误
 --socks4 <host[:port]> 用socks4代理给定主机和端口
 --socks5 <host[:port]> 用socks5代理给定主机和端口
 --stderr <file>
 -t/--telnet-option <OPT=val> Telnet选项设置
 --trace <file>  对指定文件进行debug
 --trace-ascii <file> Like --跟踪但没有hex输出
 --trace-time    跟踪/详细输出时,添加时间戳
 -T/--upload-file <file> 上传文件
 --url <URL>     Spet URL to work with
 -u/--user <user[:password]>设置服务器的用户和密码
 -U/--proxy-user <user[:password]>设置代理用户名和密码
 -v/--verbose
 -V/--version 显示版本信息
 -w/--write-out [format]什么输出完成后
 -x/--proxy <host[:port]>在给定的端口上使用HTTP代理
 -X/--request <command>指定什么命令
 -y/--speed-time 放弃限速所要的时间。默认为30
 -Y/--speed-limit 停止传输速度的限制,速度时间'秒
 -z/--time-cond  传送时间设置
 -0/--http1.0  使用HTTP 1.0
 -1/--tlsv1  使用TLSv1(SSL)
 -2/--sslv2 使用SSLv2的(SSL)
 -3/--sslv3         使用的SSLv3(SSL)
 --3p-quote      like -Q for the source URL for 3rd party transfer
 --3p-url        使用url,进行第三方传送
 --3p-user       使用用户名和密码,进行第三方传送
 -4/--ipv4   使用IP4
 -6/--ipv6   使用IP6
 -#/--progress-bar 用进度条显示当前的传送状态
二,常用curl实例
1,抓取页面内容到一个文件中
[root@krlcgcms01 mytest]# curl -o home.html  http://www.codesky.net
2,用-O(大写的),后面的url要具体到某个文件,不然抓不下来。我们还可以用正则来抓取东西
[root@krlcgcms01 mytest]# curl -O http://www.codesky.net/wp-content/uploads/2010/09/compare_varnish.jpg
[root@krlcgcms01 mytest]# curl -O http://www.codesky.net/wp-content/uploads/2010/[0-9][0-9]/aaaaa.jpg
3,模拟表单信息,模拟登录,保存cookie信息
[root@krlcgcms01 mytest]# curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://www.codesky.net/wp-login.php
4,模拟表单信息,模拟登录,保存头信息
[root@krlcgcms01 mytest]# curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://www.codesky.net/wp-login.php
-c(小写)产生的cookie和-D里面的cookie是不一样的。
5,使用cookie文件
[root@krlcgcms01 mytest]# curl -b ./cookie_c.txt  http://www.codesky.net/wp-admin
6,断点续传,-C(大写的)
[root@krlcgcms01 mytest]# curl -C -O http://www.codesky.net/wp-content/uploads/2010/09/compare_varnish.jpg
7,传送数据,最好用登录页面测试,因为你传值过去后,curl回抓数据,你可以看到你传值有没有成功
[root@krlcgcms01 mytest]# curl -d log=aaaa  http://www.codesky.net/wp-login.php
8,显示抓取错误,下面这个例子,很清楚的表明了。
[root@krlcgcms01 mytest]# curl -f http://www.codesky.net/asdf
curl: (22) The requested URL returned error: 404
[root@krlcgcms01 mytest]# curl http://www.codesky.net/asdf
<HTML><HEAD><TITLE>404,not found</TITLE>
。。。。。。。。。。。。
9,伪造来源地址,有的网站会判断,请求来源地址。
[root@krlcgcms01 mytest]# curl -e http://localhost http://www.codesky.net/wp-login.php
10,当我们经常用curl去搞人家东西的时候,人家会把你的IP给屏蔽掉的,这个时候,我们可以用代理
[root@krlcgcms01 mytest]# curl -x 24.10.28.84:32779 -o home.html http://www.codesky.net
11,比较大的东西,我们可以分段下载
[root@krlcgcms01 mytest]# curl -r 0-100 -o img.part1 http://www.codesky.net/wp-
content/uploads/2010/09/compare_varnish.jpg
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 Dload  Upload   Total   Spent    Left  Speed
100   101  100   101    0     0    105      0 --:--:-- --:--:-- --:--:--     0
[root@krlcgcms01 mytest]# curl -r 100-200 -o img.part2 http://www.codesky.net/wp-
content/uploads/2010/09/compare_varnish.jpg
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 Dload  Upload   Total   Spent    Left  Speed
100   101  100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0
[root@krlcgcms01 mytest]# curl -r 200- -o img.part3 http://www.codesky.net/wp-
content/uploads/2010/09/compare_varnish.jpg
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 Dload  Upload   Total   Spent    Left  Speed
100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961
[root@krlcgcms01 mytest]# ls |grep part | xargs du -sh
4.0K    one.part1
112K    three.part3
4.0K    two.part2
用的时候,把他们cat一下就OK了,cat img.part* >img.jpg
12,不会显示下载进度信息
[root@krlcgcms01 mytest]# curl -s -o aaa.jpg  http://www.codesky.net/wp-content/uploads/2010/09/compare_varnish.jpg
13,显示下载进度条
[root@krlcgcms01 mytest]# curl -# -O  http://www.codesky.net/wp-content/uploads/2010/09/compare_varnish.jpg
######################################################################## 100.0%
14,通过ftp下载文件
[zhangy@BlackGhost ~]$ curl -u 用户名:密码 -O http://www.codesky.net/demo/curtain/bbstudy_files/style.css
 % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
 Dload  Upload   Total   Spent    Left  Speed
101  1934  101  1934    0     0   3184      0 --:--:-- --:--:-- --:--:--  7136
或者用下面的方式

[zhangy@BlackGhost ~]$ curl -O ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/style.css

15,通过ftp上传
[zhangy@BlackGhost ~]$ curl -T test.sql ftp://用户名:密码@ip:port/demo/curtain/bbstudy_files/

 

分享到:
评论

相关推荐

    ES-CURL命令使用 - 副本.docx

    CURL命令的基本格式为: ```markdown curl -H "Content-Type: application/json" -u username:password -X 请求方法 httpUrl -d '传输数据' ``` 在这个命令中,各部分的含义如下: 1. `-H` 选项用来设置HTTP请求...

    curl命令详解 curl命令详解 curl命令详解 curl命令详解curl命令详解 curl命令详解 curl命令详解

    curl 命令详解 curl 命令是一种强大的命令行工具,用于传输数据规范的命令行工具,支持包括 HTTP、HTTPS、SCP、SFTP、TFTP 等多种协议。该命令可以用来下载和上传文件、查看 HTTP 头信息、设置 Cookie 和代理服务器...

    php CURL 命令详解

    curl命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解...

    如何使用curl命令下载文件.docx

    curl命令可以用来下载文件,并且提供了多种选项来实现不同的下载需求。 基本使用 使用curl命令下载文件非常简单,只需要指定要下载的URL即可。例如,要下载CentOS 8.1.1911的ISO文件,可以使用以下命令: [root@...

    curl命令详解,curl命令

    curl 命令详解 curl 命令是一种功能强大且灵活的命令行工具,用于传输数据指定的 URL。它支持包括 HTTP、HTTPS、FTP、FTPS、SCPV、TFTP 等多种协议。下面是对 curl 命令的一些常用参数的详细解释: 调试类 * -v, ...

    curl命令详解curl命令详解curl命令详解curl命令详解

    curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令详解curl命令...

    windows 下可以使用curl命令

    标题 "windows 下可以使用curl命令" 暗示了我们讨论的是如何在Windows操作系统环境下使用curl工具。curl是一个强大的命令行工具,用于传输数据到或从服务器,支持多种协议如HTTP、HTTPS、FTP等。在Windows系统中,它...

    curl命令详解资源合集完整版

    curl命令详解 url命令是⼀个功能强⼤的⽹络⼯具,它能够通过http、ftp等⽅式下载⽂件,也能够上传⽂件。其实curl远不⽌前⾯所说的那些功能,⼤家可以通过man curl阅读⼿册页获取更多的信息。类似的⼯具还有wget。...

    curl命令详解.zip

    curl命令详解 curl 是一个命令行工具,用于向网络服务器发送 HTTP 请求并获取响应。它可以执行各种 HTTP 操作,如 GET、POST、PUT、DELETE 等,并支持许多不同的协议,如 FTP、SMTP、POP3、IMAP 等。 总的来说,...

    pcap2curl读取数据包捕获提取HTTP请求并将其转换为cURL命令进行重放

    例如,当遇到需要登录验证或特定请求头的网站时,可以通过`pcap2curl`获取到正确的cURL命令,然后在命令行中执行这些命令来模拟浏览器的行为。 在`pcap2curl-master`这个压缩包中,我们可以预期找到`pcap2curl`的源...

    Python-curlify将Pythonrequests的请求对象变成curl命令的库

    Python-curlify是一个非常实用的库,它允许开发者将Python requests库中的请求转换为curl命令。这个库的主要目的是为了方便调试和理解HTTP请求的具体构造,因为curl命令在命令行环境中非常常见,且易于理解和分享。...

    超全的curl命令详解文档集.zip

     一,curl命令参数,有好多我没有用过,如果有误的地方,还请指正。  -a/--append 上传文件时,附加到目标文件  -A/--user-agent &lt;string&gt; 设置用户代理发送给服务器  - anyauth 可以使用“任何”身份验证...

    linux-一个将curl命令转为PythonNodejsRPHPGo代码的工具

    标题中的“Linux-一个将curl命令转为PythonNodejsRPHPGo代码的工具”揭示了一个实用的编程工具,它能够将curl命令转换成多种编程语言的等效代码,包括Python、Node.js、R、PHP和Go。这个工具对于开发者来说非常有用...

    Linux curl命令参数详解.docx

    Linux curl 命令参数详解 Linux curl 命令是通过 URL 语法在命令行下上传或下载文件的工具软件,它支持 HTTP、HTTPS、FTP、FTPS、Telnet 等多种协议,常被用来抓取网页和监控 Web 服务器状态。 一、抓取网页 ...

    curl命令详解(生成方法)

    curl命令详解 Curl是一款非常实用的数据传输工具,它支持多种协议,例如HTTP、FTP、SMTP等,可以通过命令行或脚本等方式使用。如果你需要访问指定的URL地址,只需要使用基本语法curl [options] [URL]即可。Curl还...

    通过CURL命令实现模拟登陆

    使用CURL进行模拟登陆,在一些自动化场景中,相关脚本部署在Linux上,并且是命令行的操作方式,模拟页面的操作基本无法实现,本例使用curl模拟http请求,实现浏览器操作

    java--curl工具,用于生成curl链接,直接在服务器上使用

    当遇到服务间通信问题时,开发者不再需要手动构造curl命令,只需查看生成的curl命令,就能在任何支持curl的环境(如本地开发环境或测试服务器)中复现问题,从而加速问题排查。 总的来说,这个Java工具包结合了...

    Linux Curl 命令满足你的工作需求!简直不要太香了

    Curl命令的基本格式为`curl [options] [URL]`,其中`options`是可选的命令参数,用于定制请求行为,而`URL`则是要访问的资源地址。 2. Curl常用参数详解: - `-I`:只显示HTTP响应的头部信息,不获取实际内容。 ...

    windows下离线安装curl命令

    windows下离线安装curl命令windows下离线安装curl命令windows下离线安装curl命令windows下离线安装curl命令windows下离线安装curl命令

    爬虫工具辅助工具+curl命令转python代码+自动将网络请求转成python代码

    input 指定保存curl命令的文件路径。例子:D:\curl.txt optional arguments: -h, --help show this help message and exit -o OUTPUT, --output OUTPUT 文件输出目录,不传则与源文件同目录 -n NAME, --...

Global site tag (gtag.js) - Google Analytics