如何在cURL POST数据中包含@和&等特殊字符?我正在尝试传递名称和密码,如:
curl -d name=john passwd=@31&3*J https://www.mysite.com
Run Code Online (Sandbox Code Playgroud)
这会导致@用于加载文件和&指定多个键/值的问题.有什么方法可以逃脱这些角色吗?\@而\&似乎不工作.
Ber*_*tek 56
cURL> 7.18.0有一个选项--data-urlencode可以解决这个问题.使用这个,我可以简单地发送一个POST请求
curl -d name=john --data-urlencode passwd=@31&3*J https://www.mysite.com
Run Code Online (Sandbox Code Playgroud)
Bia*_*bba 32
如何使用实体代码......
@ = %40
& = %26
所以,你会有:
curl -d 'name=john&passwd=%4031%263*J' https://www.mysite.com
Thu*_*asa 16
双引号("")整个.URL它的工作原理.
curl "http://www.mysite.com?name=john&passwd=@31&3*J"
Run Code Online (Sandbox Code Playgroud)
如果密码中有特殊字符,只需用单引号将密码四舍五入即可。
curl -u username:'this|!Pa&*12' --request POST https://www.example.com
Run Code Online (Sandbox Code Playgroud)
小智 5
尝试这个:
export CURLNAME="john:@31&3*J"
curl -d -u "${CURLNAME}" https://www.example.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112539 次 |
| 最近记录: |