建议:所有的url 必须双引号夹起来。这样的好处是遇到特殊符号依旧能解析。比如@符号
使用双引号包裹 URL 确实是一个良好的实践,尤其是在处理包含特殊字符(如 @
、&
、?
等)的 URL 时。这样可以避免 shell 对这些特殊字符进行扩展或解释,从而减少错误的发生。
使用双引号的好处
- 避免字符扩展:某些字符在 shell 中有特殊含义,使用双引号可以防止这些字符被解释。
- 提升可读性:清晰地标识出整个 URL,有助于提高代码的可读性和维护性。
- 兼容性:在不同的 shell 环境中,使用双引号可以减少潜在的兼容性问题。
正文
cURL 是一个非常强大的命令行工具,用于与各种网络协议进行交互。以下是一些常用的 cURL 参数:
- -X, --request: 指定 HTTP 请求方法,如 GET、POST、PUT、DELETE 等。
curl -X POST "https://www.baidu.com/api"
- -H, --header: 添加自定义的 HTTP 头信息。
curl -H "Content-Type: application/json" "https://www.baidu.com/api"
- -d, --data: 发送 POST 请求时传递数据。
curl -d "param1=value1¶m2=value2" "https://www.baidu.com/api"
- -F, --form: 以 multipart/form-data 格式发送 POST 请求。
curl -F "file=@/path/to/file.txt" "https://www.baidu.com/upload"
- -o, --output: 将响应保存到文件。
curl -o response.json "https://www.baidu.com/api"
- -i, --include: 在输出中包含响应头信息。
curl -i "https://www.baidu.com/api"
- -u, --user: 指定用户名和密码进行 HTTP 基本认证。
curl -u username:password "https://www.baidu.com/api"
- --data-urlencode: 对参数数据进行 URL 编码。
curl --data-urlencode "param=value with spaces" "https://www.baidu.com/api"
- 忽略证书检查。正常情况下,您应该使用
-k
或--insecure
选项来忽略SSL证书验证。请不要使用 --ssl-no-revoke 代替。
curl -k --data-urlencode "param=value with spaces" "https://www.baidu.com/api"
具体cURL示例
发送Get请求,参数在Param
curl "http://example.com/api?param1=value1¶m2=value2"
发送Get请求,参数在form-data中
curl -G \
--data-urlencode "param1=value1" \
--data-urlencode "param2=value2" \
"http://example.com/api"
发送Post请求,参数在Body中
curl -X POST \
-H "Content-Type: application/json" \
-d '{"param1": "value1", "param2": "value2"}' \
"http://example.com/api"
发送请求,携带Cookie
curl -b "cookie_name=cookie_value" "http://example.com/api"
将响应写入文件
curl -o output.txt "http://example.com/api"
文件下载
注意,-O 是使用返回的文件名。-o 是使用指定的文件名
curl -O "http://example.com/file.zip"
curl -o abc.txt "http://example.com/file.zip"
特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取最新全部资料 ❤