curl命令参数(curl 参数)
curl 传参
有时候shell脚本可以放在http页面上,不用download,可以直接执行。
通常我们可以用curl的方式执行http页面上的shell脚本。 一般方式是:
这样脚本就可以在本地机器上执行了。
有时也有需要传入参数的脚本。分为无名参数和具名参数(长选项和短选项)。
由于直接调用了 bash 命令,因此在远程脚本需要传递具名参数时,为了区分是 bash 命令的参数还是远程脚本的,可以使用 -- 作为区分,可以理解为分割线, -- 前面的比如 -s 属于 bash ,后面的 -x abc -y xyz 属于远程脚本的参数

Curl命令详解
-#, --progress-bar
显示进度条
-b, --cookie name=data
使用cookie。如果没有 = , 则表示cookie文件路径 (参考 -c )
-c, --cookie-jar file name
response的cookie保存路径
-d, --data data
POST请求数据
-f, --fail
忽略错误信息 (不显示返回的HTML错误信息)
-F, --form name=content
表单数据
-H, --header header
设置请求Header
-i, --include
输出请求Header信息
-I, --head
只显示Header信息
-k, --insecure
允许不安全链接
-L, --location
Follow redirects.
-o, --output file
输出信息保存到指定文件中。可与 --create-dirs 一起使用,自动创建文件路径
-O, --remote-name
输出信息写到文件中,文件名同服务器端的文件名 (只能写入到当前目录)
-s, --silent
静默模式。与 -S 一起用,强制输出errors信息
-v, --verbose
显示更多信息(用于调试).
-w, --write-out format
请求结果后追加内容。例如, -w "\n" 可以在输出结果后追加一个换行符。可以把 -w "\n" 添加到 ~/.curlrc 文件中,这样每次执行结果后都自动追加换行符(默认curl返回内容最后缺少换行符,显示不友好)
-X, --request
请求方法类型,POST、GET、PUT等
使用 POST 或 PUT 请求时, 可用 Content-Type 指定两种数据格式:
curl默认为表单格式。如果使用json格式,需要手动设置header。
对于 POST 和 PUT 请求, 以下是通用参数:
application/x-www-form-urlencoded 为默认值:
等效于:
也可以使用数据文件:
或使用数据文件:
Curl 命令
一、基础请求
1、Get 请求
命令格式: curl requesturl
例如: curl
2、Post 请求
命令格式: curl -X POST requesturl
例如: curl -X POST
二、指定ip发送请求
1、http命令格式:
curl -H 'Host:requestHost'
或 curl -x ip:port
例如:
curl -H 'Host:kunpeng.csdn.net'
curl -x '101.201.173.208:80'
2、https命令格式:
curl -H 'Host:requestHost'
或 curl ip -k
例如:
curl -H 'Host:kunpeng.csdn.net' -k
curl '101.201.173.208' -k
三、带参数的POST请求
命令格式:
1、head请求参数用 -H表示(一个横杆)
2、如果命令需要换行,在换行处加 反斜杠
3、body请求参数用 --data表示(两个横杆);请求内容有引号时,加反斜杠\
例如:
curl基本用法
如果要保存该网页,使用"-o"参数,这相当于使用wget命令。
有的网址是自动跳转的,使用"-L"参数,curl就会跳转到新的网址。
"-v"参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。
GET方法
POST方法
curl默认的http动词是get,使用"-X"参数可以支持其他动词。
在http request头信息中,referer表示从哪里跳转过来的。
User Agent字段表示客户端的设备信息。
使用"--cookie"参数,可以让curl发送cookie。
"-c cookie-file"可以保存服务器返回的cookie到文件,"-b cookie-file"可以使用这个文件作为cookie信息,进行后续的请求。
有些网域需要HTTP认证,这时curl需要用到"-user"参数。
curl命令行参数及使用
h2 表单提交
h4 GET数据提交
h4 post 数据提交
ps:
提交内容:
请求方式路径 http版本协议 2.host网址 3.user-agent用什么软件发起请求 4.Accept: / 接受返回任何内容
例
响应内容
1.路径版本协议 2. key值 3.回车分界线 4.要上传的数据
例
ps:请求响应内容查看方式:鼠标网页右击检查元素,点击NETWORK即可查看
参考地址:
curl 参数 命令
post jason data with curl:
curl -H "Content-Type: application/json" -X POST -d '[{"x":115.80796583333334,"y":36.23307472222222,"z":null}]'
linux 下使用 curl 访问带多参数,GET掉参数解决方案
url 为 ;b=2c=3
curl? -s? ;b=2c=3
然而在linux下,上面的例子 $_GET只能获取到参数 a
由于url中有其他参数获取不到,在linux系统中 会使进程系统后台运行
必须对 进行下转义才能 $_GET获取到所有参数
curl? -s? \b=2\c=3
当然,最简单的方法 用双引号把整个url引起来就ok了
curl? -s? ";b=2c=3"