2014-03-27 44 views
0

我想知道是否有可能通过发布使用常规字符串和数据从文件卷曲后的数据项:从文件

我试图JSON数据做通过命令行的卷曲值对,

curl -X POST -H "Content-Type: application/json" -H "Accept: applicaton/json" -d '{"port":"10001", "nodeID": "testnode", "ca": '"`cat cert.pem`"'}' http://localhost:1215/net/tunnel 

但是一个错误,指出

SyntaxError: Unexpected number 

是该方法不正确或我有一个bug?

更新:

[email protected]:/home/user/work/derivation/keys# curl -X POST -H "Content-Type: application/json" -H "Accept: applicaton/json" -d "{\"port\":\"10001\", \"nodeID\": \"testnode\", \"ca\": \"<tilde>cat cert.pem<tilde>\"}" http://localhost:1215/net/tunnel 
SyntaxError: Unexpected token 

at Object.parse (native) 
at IncomingMessage.<anonymous> (/home/user/work/boomerang/node_modules/express/node_modules/connect/lib/middleware/json.js:76:27) 
at IncomingMessage.EventEmitter.emit (events.js:92:17) 
at _stream_readable.js:920:16 
at process._tickDomainCallback (node.js:459:13)[email protected]:/home/user/work/derivation/keys# 

谢谢!

回答

1

是的,你可以使用-d @filename.txt

curl -X POST -H "Content-Type: application/json" -H "Accept: applicaton/json" -d @filename.txt http://localhost:1215/net/tunnel 

但是当前的命令也应该工作。试试这个:

curl -X POST -H "Content-Type: application/json" -H "Accept: applicaton/json" -d "{\"port\":\"10001\", \"nodeID\": \"testnode\", \"ca\": \"'cat cert.pem'\"}" http://localhost:1215/net/tunnel 
+0

不好:/,得到类似的错误,因为我的文章。 –

+0

@ waka-waka-waka确保你的json格式正确并且有效。 –

+0

'cat cert.pem' - >以字符串形式obv,因此我将其更改为 cat cert.pem #SyntaxError:意外的标记 –