建议:所有的url 必须双引号夹起来。这样的好处是遇到特殊符号依旧能解析。比如@符号

使用双引号包裹 URL 确实是一个良好的实践,尤其是在处理包含特殊字符(如 @&? 等)的 URL 时。这样可以避免 shell 对这些特殊字符进行扩展或解释,从而减少错误的发生。

使用双引号的好处

  1. 避免字符扩展:某些字符在 shell 中有特殊含义,使用双引号可以防止这些字符被解释。
  2. 提升可读性:清晰地标识出整个 URL,有助于提高代码的可读性和维护性。
  3. 兼容性:在不同的 shell 环境中,使用双引号可以减少潜在的兼容性问题。

正文

cURL 是一个非常强大的命令行工具,用于与各种网络协议进行交互。以下是一些常用的 cURL 参数:

  1. -X, --request: 指定 HTTP 请求方法,如 GET、POST、PUT、DELETE 等。
curl -X POST "https://www.baidu.com/api"
  1. -H, --header: 添加自定义的 HTTP 头信息。
curl -H "Content-Type: application/json" "https://www.baidu.com/api"
  1. -d, --data: 发送 POST 请求时传递数据。
curl -d "param1=value1&param2=value2" "https://www.baidu.com/api"
  1. -F, --form: 以 multipart/form-data 格式发送 POST 请求。
curl -F "file=@/path/to/file.txt" "https://www.baidu.com/upload"
  1. -o, --output: 将响应保存到文件。
curl -o response.json "https://www.baidu.com/api"
  1. -i, --include: 在输出中包含响应头信息。
curl -i "https://www.baidu.com/api"
  1. -u, --user: 指定用户名和密码进行 HTTP 基本认证。
curl -u username:password "https://www.baidu.com/api"
  1. --data-urlencode: 对参数数据进行 URL 编码。
curl --data-urlencode "param=value with spaces" "https://www.baidu.com/api"
  1. 忽略证书检查。正常情况下,您应该使用-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&param2=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博客搜索:标题关键字。以获取最新全部资料 ❤