curl 下载地址中有特殊字符解决方案

情况

使用 curl 下载 地址中带有 特殊字符的时候 比如下面这个地址。实际访问地址不正确,参数丢失问题

curl -o kspf.jpeg https://kspf.xyz/usr/uploads/2021/06/836016039.jpeg?a=1&b=2&c=3

上面这个 url 实际上在服务端接受的参数只有 a = 1 ,造成在服务器端接收的时候经常出现数据丢失的情况

curl -o kspf.jpeg https://kspf.xyz/usr/uploads/2021/06/836016039.jpeg?a=1

为什么会出现这个问题呢?因为 & 在 shell 中 表示任务在后台执行

原因

在url中直接使用特殊符号会截断命令让命令失去原本意义.

shell 中某些符号被赋予了其他含义

符号 含义
& 表示任务在后台执行
&& 表示前一条命令执行成功时,才执行后一条命令
表示管道,上一条命令的输出,作为下一条命令参数
||
...... ......

解决方案

知道特殊字符会被liunx 识别为命令符,所以我们需要编码转义特殊符号

url 常用字符及对应编码表

字符 URL编码值
空格 %20
" %22
# %23
% %25
& %26
( %28
) %29
+ %2B
, %2C
/ %2F
: %3A
; %3B
< %3C
= %3D
> %3E
? %3F
@ %40
\ %5C
%7C
# 根据上面表格我们把最终的命令为下面这样
curl -s -o kspf.jpeg https://kspf.xyz/usr/uploads/2021/06/836016039.jpeg?a=1%25b=2

原文地址:https://kspf.xyz/archives/155/

最新文章

  1. 响应链和UIKit框架
  2. Ubuntu 14.04下Django+MySQL安装部署全过程
  3. libpng安装与配置(Win7+VS2010)
  4. windows下python脚本程序的运行
  5. 第二百六十三天 how can I 坚持
  6. VS 代码段 自定义
  7. [IR] BWT+MTF+AC
  8. Python 3 智能发音
  9. Afianl加载网络图片(续)
  10. localhost,127.x.x.x和 0.0.0.0区别
  11. 微信小程序实战--集阅读与电影于一体的小程序项目(一)
  12. centos 端口开放及关闭 【转】
  13. vue学习视频网址(各种前端视频 网址)
  14. Cannot read lifecycle mapping metadata for artifact org.apache.maven.plugins问题的解决
  15. 使用mysqldiff生成两个数据库结构不同的脚本
  16. pandas的to_csv函数
  17. 004_Gradle 笔记——Java构建入门
  18. Java - 生成keystore
  19. centos安装后,连接不上网络,yum命令执行can not find a valid baseurl for repo: base/7/x86-64
  20. 使用ubuntun16.04代码笔记

热门文章

  1. python自动化测试-列表、元组、字典学习笔记
  2. “判断性别”Demo需求分析和初步设计(中)
  3. redis-zset命令
  4. 「题解报告」P2154 虔诚的墓主人
  5. Kotlin快速上手
  6. Javaweb__Jquery
  7. Spire.Cloud 私有化部署教程(三) - Windows 系统
  8. noip 2014 提高组初赛
  9. KingbaseES 创建只读(read_only)用户
  10. e1000e网卡驱动在麒麟3.2.5上编译安装