我正在尝试使用 CURL 发出请求,如下所示:
curl -X DELETE "https://myhost/context/path/users/OXYugGKg207g5uN/07V"
其中 OXYugGKg207g5uN/07V
是一个哈希,所以我想我需要在执行此请求之前进行编码。
我已尝试curl -X DELETE --data-urlenconded“https://myhost/context/path/users/OXYugGKg207g5uN/07V”
一些想法?
最佳答案
由于您处于 bash 环境中,因此可以在将哈希值传递给curl 之前对其进行编码OXYugGKg207g5uN/07V
。
一种直接的方法是使用其字节表示%4f%58%59%75%67%47%4b%67%32%30%37%67%35%75%4e%2f %30%37%56
要获取该信息,请调用:
echo -ne "OXYugGKg207g5uN/07V" | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g'
它会给你:%4f%58%59%75%67%47%4b%67%32%30%37%67%35%75%4e%2f%30%37%56
包括 bash/zsh/sh/… 中的curl在内的完整单行代码如下所示:
curl -X DELETE "https://myhost/context/path/users/$(echo -ne "OXYugGKg207g5uN/07V" | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g')"
并且相当于
curl -X DELETE "https://myhost/context/path/users/%4f%58%59%75%67%47%4b%67%32%30%37%67%35%75%4e%2f%30%37%56"
这个解决方案不是很漂亮,但它有效。
我希望您觉得这有帮助。
关于url - 使用带有编码 URL 的 CURL 进行删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12735450/