这是纯粹的BASH答案。rawurlencode() {

local string="${1}"

local strlen=${#string}

local encoded=""

local pos c o  for (( pos=0 ; pos

c=${string:$pos:1}

case "$c" in

[-_.~a-zA-Z0-9] ) o="${c}" ;;

* )               printf -v o '%%%02x' "'$c"

esac

encoded+="${o}"

done

echo "${encoded}"    # You can either set a return variable (FASTER)

REPLY="${encoded}"   #+or echo the result (EASIER)... or both... :p}

您可以通过两种方式使用它:easier:  echo http://url/q?=$( rawurlencode "$args" )faster:  rawurlencode "$args"; echo http://url/q?${REPLY}

[编辑]

这是匹配的rawurldecode()函数,它具有所有的谦虚性,非常棒。# Returns a string in which the sequences with percent (%) signs followed by# two hex digits have been replaced with literal characters.rawurldecode() {

# This is perhaps a risky gambit, but since all escape characters must be

# encoded, we can replace %NN with \xNN and pass the lot to printf -b, which

# will decode hex for us

printf -v REPLY '%b' "${1//%/\\x}" # You can either set a return variable (FASTER)

echo "${REPLY}"  #+or echo the result (EASIER)... or both... :p}

通过匹配集,我们现在可以执行一些简单的测试:$ diff rawurlencode.inc.sh \

如果你真的觉得你需要一个外部工具(好吧,它会更快,可能会做二进制文件等......)我在OpenWRT路由器上发现了这个......replace_value=$(echo $replace_value | sed -f /usr/lib/ddns/url_escape.sed)

url_escape.sed是包含以下规则的文件:# sed url escapings:%:%25:g

s: :%20:g

s:<:>

s:>:%3E:g

s:#:%23:g

s:{:%7B:g

s:}:%7D:g

s:|:%7C:g

s:\\:%5C:g

s:\^:%5E:g

s:~:%7E:g

s:\[:%5B:g

s:\]:%5D:g

s:`:%60:g

s:;:%3B:g

s:/:%2F:g

s:?:%3F:g

s^:^%3A^g

s:@:%40:g

s:=:%3D:g

s:&:%26:g

s:\$:%24:g

s:\!:%21:g

s:\*:%2A:g

linux如何get请求urlencode,如何为curl命令urlencode数据?相关推荐

  1. 如何为curl命令添加数据?

    本文翻译自:How to urlencode data for curl command? I am trying to write a bash script for testing that ta ...

  2. linux发送http请求xml报文,使用curl命令行发送/发布xml文件

    阿波罗的战车 如果该问题与您的其他Hudson问题有关,请使用它们提供的命令.从命令行使用XML的这种方式:$ curl -X POST -d '...' \http://user:pass@myho ...

  3. 百度一 29 岁程序员因使用CURL命令“篡改数据”被判有期徒刑一年九个月,并没收所有违法所得

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 近日,中国裁判文书网公布了一起非法控制计算机信息系统.给赌博网站"大开方便之门"的案件,涉及金额达374万元 ...

  4. php post请求超时,php用curl提交post数据,本地测试服务器OK,线上超时,需要如何排除问题?...

    本地服务器使用centos7.3,数据测试正常,线上服务器也是centos7.3,但是一直超时 使用postman或直接url地址访问线上服务器需要curl的地址能返回数据,但是用php的curl就不 ...

  5. linux curl命令 post,linux环境下使用curl命令设置Header参数发送post请求

    linux环境下使用curl命令设置Header参数发送post请求 linux环境下使用curl命令设置Header参数发送post请求 案例1:curl命令发送post请求并且获取返回结果以及响应 ...

  6. Linux curl命令最全详解

    目录 一.最常用的curl命令 1.发送GET请求 2.发送POST请求 3.发送json格式请求: 二.curl命令语法与curl命令参数详解 1.curl命令语法 2.curl命令参数详解 三.L ...

  7. linux 抓包文件 导出,Fiddler抓包13-fiddler 抓包导出 curl 命令行

    前言 curl是一个命令行工具 ,一般用于 linux 环境上发 http 请求,方便远程定位接口问题. fiddler 抓包后可以导出 curl 命令行,这样方便不会写 curl 的小伙伴快速的生成 ...

  8. curl post https_Fiddler抓包13fiddler 抓包导出 curl 命令行

    前言 curl是一个命令行工具 ,一般用于 linux 环境上发 http 请求,方便远程定位接口问题. fiddler 抓包后可以导出 curl 命令行,这样方便不会写 curl 的小伙伴快速的生成 ...

  9. fiddler 抓包后批量导出_Fiddler抓包13-fiddler 抓包导出 curl 命令行

    前言 curl是一个命令行工具 ,一般用于 linux 环境上发 http 请求,方便远程定位接口问题. fiddler 抓包后可以导出 curl 命令行,这样方便不会写 curl 的小伙伴快速的生成 ...

最新文章

  1. 宏基因组合种华山松、云杉专车3天领证
  2. TSM12M触摸芯片注意事项
  3. VTK:图片之ImageGridSource
  4. 共享一PYTHON 相关应用领域的介绍资料
  5. HHKB Programming Contest 2020 总结
  6. 企业千人千面管理模式_华世界集团获国家高新技术企业认定
  7. (日常搬砖) ubuntu18.04 向日葵卡死/软件界面卡死
  8. Django 学习第九天——请求与响应
  9. 在学校报名了计算机一级考试时间,2020年山东计算机一级报名及考试时间
  10. uniapp 二维码生成器 uQRCode
  11. 如何合并多个PDF文件并自动生成目录
  12. 第二次作业——时事评论
  13. Java 快递物流查询 api对接
  14. python3.6和3.8_选择 Python3.6 还是 Python 3.7
  15. 吐血整理-周志华演讲合集
  16. 【读书杂记】种姓制度
  17. 小豹子带你看源码:Java 线程池(三)提交任务
  18. Docker 技术鼻祖 Linux Namespace 入门系列:Namespace API
  19. Chrome浏览器无法自动登录discuz论坛
  20. 答疑 | 面试全对,却没offer?

热门文章

  1. android开发,静音录制视频,在一般清晰度的前提下保证文件大小越小越好
  2. 转发:linux修改光盘作为源
  3. 双缓冲法解决重绘和闪屏问题
  4. 内功重修之数据结构----数组
  5. 以智能数据架构,挖掘增长金矿
  6. “亚信科技杯”南邮第七届大学生程序设计竞赛之网络预赛 (K L题解)
  7. Android基础_数据存储
  8. bash和sed简要介绍和相关范例
  9. 华为NIP网络***检测系统
  10. 我提出辞职,老板竟然让我做选择题(转)