DELETE使用curl与编码的URL

问题描述:

我试图让使用curl这样的要求:DELETE使用curl与编码的URL

curl -X DELETE "https://myhost/context/path/users/OXYugGKg207g5uN/07V" 

其中OXYugGKg207g5uN/07V是乱码,所以我想,我需要编码之前做到这一点的要求。

我已经试过curl -X DELETE --data-urlenconded "https://myhost/context/path/users/OXYugGKg207g5uN/07V"

一些想法?

+2

服务器是否接收到请求?它看起来像是URL编码整个URL ......这将创建一个不可用的URL。 – shortstuffsushi

+0

你真的尝试过'--data-urlenconded'吗?正确拼写可能会对您有所帮助。 – TRiG

如果确实OXYugGKg207g5uN/07V是散列,那么您需要对其进行编码,而不是整个网址。您可以使用可用您在使用卷曲的环境内的编码功能。

+0

我在bash脚本上。你有一些例子吗? – coffee

+0

http://*.com/questions/296536/urlencode-from-a-bash-script – arkascha

试试这个

curl -X DELETE "https://myhost/context/path/users/$(echo -ne "OXYugGKg207g5uN/07V" | xxd -plain | tr -d '\n' | sed 's/\(..\)/%\1/g')" 

这是equivilent到

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" 

在这里,每一个字符由它的字节respresentation取代。 .. 我不认为它是特别漂亮,但它的作品。