curl的HTTP参数速查表
curl简介
curl是一个开源的命令行工具,它基于网络协议,对指定URL进行网络传输,得到数据后不任何具体处理(如:html的渲染等),直接显示在”标准输出”(stdout)上。
curl支持的网络协议有很多,包括:DICT、FILE、FTP、FTPS、GOPHER、GOPHERS、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、MQTT、POP3、POP3S、RTMP、RTMPS、RTSP、SCP、SFTP、SMB、SMBS、SMTP、SMTPS、TELNET和TFTP。
curl的参数也有很多,以下主要介绍HTTP和HTTPS相关的参数,建议收藏保存。
参数速查表
参数 | 描述 | 示例 |
---|---|---|
-A, –user-agent | 发送指定的User-Agent到服务端 | curl -A “Agent 007” https://one.more |
–alt-svc | 使用此缓存文件启用alt-svc | curl –alt-svc svc.txt https://one.more |
–anyauth | 选择任意认证方法 | curl –anyauth –user me:pwd https://one.more |
–compressed | 请求压缩 (使用 deflate 或 gzip) | curl –compressed https://one.more |
-b, –cookie <data | filename> | 发送cookie的字符串,或者读取发送cookie的文件位置 |
-c, –cookie-jar | 操作结束后写入cookie到指定的文件 | curl -c cookies.txt https://one.more |
-d, –data | HTTP POST 的数据 | curl -d “name=onemore” https://one.more |
–data-ascii | HTTP POST 的ASCII数据 | curl –data-ascii @file https://one.more |
–data-binary | HTTP POST 的二进制数据 | curl –data-binary @file https://one.more |
–data-raw | HTTP POST 的数据(不对@字符做特殊解析) | curl –data-raw “one@more” https://one.more |
–data-urlencode | HTTP POST 的url编码的数据 | curl –data-urlencode name=onemore https://one.more |
–digest | 使用HTTP摘要访问认证 | curl -u name:password –digest https://one.more |
–disallow-username-in-url | 禁止在url中输入用户名 | curl –disallow-username-in-url https://one.more |
-D, –dump-header | 把接收到的header写入到指定的文件 | curl –dump-header header.txt https://one.more |
-e, –referer | 指定Referrer的URL | curl –referer “https://more.one” https://one.more |
–etag-compare | 从文件中读取作为header中的ETag | curl –etag-compare etag.txt https://one.more |
–etag-save | 从请求中解析ETag并将其保存到指定的文件中 | curl –etag-save etag.txt https://one.more |
–expect100-timeout | 允许等待100-continue响应的最大时间(以秒为单位) | curl –expect100-timeout 2.5 https://one.more |
-f, –fail | 在服务器出错时不显示HTTP错误信息 | curl –fail https://one.more |
-F, –form <name=content> | 模拟用户按下提交表单 | curl -F image=@onemore.jpg https://one.more |
–form-string <name=string> | 模拟用户按下提交表单(值为字符串) | curl –form-string “data” https://one.more |
-G, –get | 将POST数据放在URL中并发起GET请求 | curl –get -d “name=onemore” https://one.more |
–haproxy-protocol | 发送HAProxy PROXY v1的header | curl –haproxy-protocol https://one.more |
-i, –include | 在输出中包含HTTP响应头 | curl -i https://one.more |
-I, –head | 只显示响应头信息 | curl -I https://one.more |
-H, –header header/@file | 发送自定义header | curl -H “Content-Type: application/json;charset=UTF-8” https://one.more |
–hsts | 启用HSTS进行传输 | curl –hsts cache.txt https://one.more |
–http0.9 | 使用HTTP 0.9 | curl –http0.9 https://one.more |
-0, –http1.0 | 使用HTTP 1.0 | curl –http1.0 https://one.more |
–http1.1 | 使用HTTP 1.1 | curl –http1.1 https://one.more |
–http2 | 使用HTTP 2 | curl –http2 https://one.more |
–http2-prior-knowledge | 使用HTTP 2(不使用HTTP/1.1 Upgrade) | curl –http2-prior-knowledge https://one.more |
–http3 | 使用HTTP 3 | curl –http3 https://one.more |
–ignore-content-length | 忽略服务端资源的大小 | curl –ignore-content-length https://one.more |
-j, –junk-session-cookies | 忽略从文件中读取的会话cookie | curl –junk-session-cookies -b cookies.txt https://one.more |
-L, –location | 启用重定向 | curl –L https://one.more |
–location-trusted | 启用重定向并发送验证信息到其它主机 | curl –location-trusted -u user:pwd https://one.more |
–max-redirs | 重定向的最大次数 | curl –max-redirs 3 –location https://one.more |
–negotiate | 使用HTTP Negotiate (SPNEGO) 认证 | curl –negotiate -u : https://one.more |
–no-alpn | 禁用ALPN TLS扩展 | curl –no-alpn https://one.more |
–no-npn | 禁用NPN TLS扩展 | curl –no-npn https://one.more |
–ntlm | 使用HTTP NTLM认证 | curl –ntlm -u user:pwd https://one.more |
–ntlm-wb | 使用HTTP NTLM认证(使用ntlmauth程序做身份验证) | curl –ntlm-wb -u user:pwd https://one.more |
–post301 | 在301重定向后不切换为 GET 请求 | curl –post301 –location https://one.more |
–post302 | 在302重定向后不切换为 GET 请求 | curl –post302 –location https://one.more |
–post303 | 在303重定向后不切换为 GET 请求 | curl –post303 –location https://one.more |
-r, –range | 只接收范围内的字节 | curl –range 22-44 https://one.more |
–raw | 禁用所有内部HTTP对内容或传输编码的解码 | curl –raw https://one.more |
–tr-encoding | 请求压缩传输编码算法,并解压接收到的数据 | curl –tr-encoding https://one.more |
-v, –verbose | 显示通信的整个过程,包括端口连接和头信息。 | curl -v https://one.more |
-z, –time-cond | 请求在给定时间之后或之前被修改的文件 | curl -z “Tue 18 Jan 2021 13:14:15” https://one.more |
curl 版本号:7.74.0
竟然已经看到这里了,你我定是有缘人,留下你的点赞和关注,他日必成大器。
微信公众号:万猫学社
微信扫描二维码
关注后回复「电子书」
获取12本Java必读技术书籍