curl 下载地址中有特殊字符解决方案
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/

curl 下载地址中有特殊字符解决方案的更多相关文章
- curl下载安装
curl下载地址 https://curl.haxx.se/download.html 选择windows generic 下的 下载安装 安装完后解压配置系统环境变量 CURL_HOME ...
- BAT等大厂已开源的70个实用工具盘点(附下载地址)
前面的一篇文章<微软.谷歌.亚马逊.Facebook等硅谷大厂91个开源软件盘点(附下载地址)>列举了国外8个互联网公司(包括微软.Google.亚马逊.IBM.Facebook.Twit ...
- 微软、谷歌、亚马逊、Facebook等硅谷大厂91个开源软件盘点(附下载地址)
开源软件中有大量专家构建的代码,大大节省了开发人员的时间和成本,热衷于开源的大厂们总是能够带给我们新的惊喜.2016年9月GitHub报告显示,GitHub已经有超过 520 万的用户和超 30 万的 ...
- URLEncode解决url中有特殊字符的问题
问题:图片上传后的url地址中有&等特殊字符,页面传到后端时被自动处理成了& 解决:前端对url进行URLEncode,后端收到后进行URLDecode 总结:需要在请求u ...
- Linux下db2V10.5命令行安装超详细图文教程(附下载地址)
下载地址:https://pan.baidu.com/s/1GtF03x1FMF3IsGdSiBJu-g 提取码:8vfj 失效了发邮件:wells974@163.com 一.db2prereqche ...
- gradle各版本下载地址
gradle各版本下载地址:http://services.gradle.org/distributions 以前都是手动下载gradle的文件,然后修改的,今天想从一些博客网站上下载最新的gradl ...
- Visual Studio 2015 正式版 官方下载地址
Visual Studio 2015昨日正式版发布,期待7.29正式版Win10的发布. Visual Studio 2015 各版本简体中文与English的下载地址详见下文. 另: Visual ...
- oracle 11g 服务端下载地址及安装说明
oracle 11g 服务端下载地址及安装说明 分类: Oracle 2013-11-17 19:40 988人阅读 ...
- fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址)
fedora21发布与新功能介绍(附fedora21安装教程与fedora21下载地址) 最新的Fedora 21终于正式发布了,Fedora Server 是一款强大可定制化的操作系统,包括了最好最 ...
随机推荐
- C#基础_XML文件读写
使用C#对XML文件进行操作,包括生成一个XML文档,以及读取XML文档中的内容,修改某个元素中的内容 using System; using System.Collections.Generic; ...
- Databend 源码阅读系列(二):Query server 启动,Session 管理及请求处理
query 启动入口 Databend-query server 的启动入口在 databend/src/binaries/query/main.rs 下,在初始化配置之后,它会创建一个 Global ...
- Helm安装ingress-nginx-4.1.4
Application version 1.2.1 Chart version 4.1.4 获取chart包 helm fetch ingress-nginx/ingress-nginx --vers ...
- KingbaseES R6 集群修改ssh端口执行sys_backup.sh备份案例
数据库环境:** test=# select version(); version ---------------------------------------------------------- ...
- Dubbo本地调试
dubbo 启动标志 Dubbo service server started <dubbo:reference id="transferTimingUploadHisRPCServi ...
- Linux Netlink学习笔记
参考链接:https://www.systutorials.com/docs/linux/man/7-netlink/ 1. 监听Netlink消息类型示例 Netlink是用户程序与内核通信的soc ...
- 头文件与main函数
头文件 1.为什么要使用头文件? 程序如戏 程序中有很多元素(std::cout, system), 都是一个个演员 但是他们之间都互不认识, 但是却要一起合作, 强行编译, 就会导致错误! 得预先介 ...
- JAVA SE 基础总结
§ 基础知识 一.程序组织与运行原理 1.1 程序组织 一个 JAVA 程序文件中主要由如下几部分构成: package 声明 public 类:public 类与类文件名相同,因为其是作为该类文件唯 ...
- day03-3私聊功能
多用户即时通讯系统03 4.编码实现02 4.4功能实现-私聊功能实现 4.4.1思路分析 客户端 - 发送者: 用户在控制台输入信息,客户端接收内容 将消息构建成Messgae对象,通过对应的soc ...
- 有偿提供ES 7.X和8.X 版本 的白金版和企业版 使用咨询服务
若有意向,可通过下方的邮箱发邮件进行咨询,非诚勿扰.. 邮箱地址:sandu12345@msn.cn