在cURL POST数据中使用字符%

时间:2014-02-16 02:56:36

标签: url post curl

我从这个post了解到,我可以将实体代码用于像@ = %40这样的字符 & = %26但我找不到如何加入%

例如,我想执行以下命令,但由于%而导致错误。有没有办法逃脱它?

curl -d 'name=foo&description=bar has a 25% discount' http://localhost:3000/api/v1/products

2 个答案:

答案 0 :(得分:1)

% = %25

此工具有助于发现如何对其进行编码:http://meyerweb.com/eric/tools/dencoder/在JavaScript中执行以下操作:

 function encode() {
   var obj = document.getElementById('dencoder');
   var unencoded = obj.value;
   obj.value = encodeURIComponent(unencoded).replace(/'/g,"%27").replace(/"/g,"%22");   
 }

答案 1 :(得分:1)

编码的任何内容都应为%[其字节值的两位十六进制],这使得'%'编码为%25。

curl还具有命令行选项--data-urlencode来帮助解决这个问题。