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