我正在尝试使用来自
Linux shell脚本的CURL POST到SMS提供程序的HTTP网关(Sybase 365).
我需要传递以下数据(注意[]和LF字符)
[MSISDN] List=+12345678 [MESSAGE] Text=Hello [END]
curl -F @myfile "http://www.sybase.com/..."
在服务器上导致此结果(被拒绝)
[MSISDN]List=+12345678[MESSAGE]Text=Hello[END]
我有什么办法可以避免这种情况,还是需要替代工具?
我正在使用包含我的数据的文件进行测试,但我想在实践中避免这种情况,直接从脚本中进行POST.
解决方法
尝试使用–data-binary而不是-d(ata-ascii).
从手册:
–data-binary (HTTP) This posts data in a similar manner as –data-ascii does,although when using this option the entire context of the posted data is kept as-is.
If you want to post a binary file without the strip-newlines feature of the –data-ascii option,this is for you. If this option is used several times,the ones following the first will append data.
ETA:哎呀,我应该更仔细地阅读这个问题.你使用的是-F,而不是-d.但是–data-binary可能仍然值得一试.